----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/17520/#review33643 -----------------------------------------------------------
Ship it! Ship It! - Jeff Currier On Feb. 4, 2014, 9:41 p.m., Charlie Carson wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/17520/ > ----------------------------------------------------------- > > (Updated Feb. 4, 2014, 9:41 p.m.) > > > Review request for mesos, Benjamin Hindman and Jeff Currier. > > > Bugs: https://issues.apache.org/jira/browse/MESOS-939 > > https://issues.apache.org/jira/browse/https://issues.apache.org/jira/browse/MESOS-939 > > > Repository: mesos-git > > > Description > ------- > > Add JSON::Boolean to stout/json.hpp. > > If you assign an JSON::Object a bool then it will get coerced into > a JSON::Number w/ value of 0.0 or 1.0. This is because JSON::True > and JSON::False do not have constructors from bool. > > The fix is to introduce a common super class, JSON::Boolean, which > both JSON::True and JSON::False inherit from. JSON::Boolean has the > necessary constructor which takes a bool. > > However, this leads to ambiguity when assigning a cstring to > a JSON::Value, since JSON::String already takes a const char * and > a const char * is implicitly convertable to a bool. > > The solution for that is to rename the variant from JSON::Value > to JSON::inner::Variant and to create a new class JSON::Value > which inherits from JSON::inner::Variant. The new JSON::Value > can have all the conversion constructors in a single place, so > is no ambiguity, and delegate everythign else to the Variant. > > Also added a bunch of unit tests. > > SEE: https://issues.apache.org/jira/browse/MESOS-939 > > Review: https://reviews.apache.org/r/17520 > > > Diffs > ----- > > 3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp > 3148a7873397f6b0b2ebdbff3b640535ccd12318 > 3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp > 29ada8a4a0396f889eb2583c3b3ff622050125af > > Diff: https://reviews.apache.org/r/17520/diff/ > > > Testing > ------- > > make check + new unit tests > > > Thanks, > > Charlie Carson > >