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.
Edited by Haocheng LIU