Bump nlohmann used by SMTK
During the development of rgg session, I ran into the following issue related to nlohmann json that
operator T() will cause undefined behavior.
// Right usage Pin modifiedPin = json::parse(modifiedPinString); // Wrong usage which would lead to mysterious error. Ex. free a unallocated memory, std::string is not UTF-8 format, etc Pin modifiedPin; modifiedPin = json::parse(modifiedPinString); // A simpler example // strings std::string s1 = "Hello, world!"; json js = s1; auto s2 = js.get<std::string>(); // NOT RECOMMENDED(Haocheng: should be avoided) std::string s3 = js; std::string s4; s4 = js;
It's a limitation(full description described here) of current nlohmann json and is targeted to be fix in the 4.0.0 release.