[ https://issues.apache.org/jira/browse/MESOS-939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13880539#comment-13880539 ]
Charlie Carson commented on MESOS-939: -------------------------------------- slight complication. there is ambiguity between the constructor I would add: Boolean(bool _value) and the existing constructor for String String(const char *_value) b/c a bool can be initialized w/ a pointer (so you can do things like if(m_pointer)). that means that Boolean constructor needs to be explicit in order to even compile. that doesn't help the problem I'm trying to solve though, b/c the implicit conversion of bool->double still fires if you forget to be explicit and say JSON::Boolean in the below: JSON::Object o = JSON::Boolean(true); then it still compiles and still gives you the double. so... I'm going to go ahead and add JSON::Boolean as before, w/ the explicit constructor. I'm also going to rename Object to be _Object and create my own Object class that inherits from _Object. I'll then consolidate all the current constructors onto Object and have it explicitly forward the proper type to _Object. btw - I'll probably name _Object something better and stick it in an internal namespace. > assignment of bool to Stout JSON::Value yields JSON::Double > ----------------------------------------------------------- > > Key: MESOS-939 > URL: https://issues.apache.org/jira/browse/MESOS-939 > Project: Mesos > Issue Type: Bug > Reporter: Charlie Carson > Assignee: Charlie Carson > Priority: Minor > > JSON::Value b = false; goes through the JSON::Double constructor and yields 0 > instead of false when you serialize. > 1 solution would be to create a common super type JSON::Boolean which w/ bool > field and an implicit constructor ala JSON::String & JSON::Double. > I'm happy to fix this but wanted some input on if that was the best solution > first. -- This message was sent by Atlassian JIRA (v6.1.5#6160)