[
https://issues.apache.org/jira/browse/MESOS-1057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13921512#comment-13921512
]
Jie Yu commented on MESOS-1057:
-------------------------------
As far as I know, we rely on implicitly conversion a lot in our code base. For
example:
Future<int> future = 42;
Option<int> option = 42;
Try<Nothing> t = Nothing();
So it would be nice if you can list the changes you wanna make here.
> libprocess: Add explicit to single argument constructors
> --------------------------------------------------------
>
> Key: MESOS-1057
> URL: https://issues.apache.org/jira/browse/MESOS-1057
> Project: Mesos
> Issue Type: Improvement
> Components: libprocess
> Reporter: Bernd Mathiske
> Assignee: Bernd Mathiske
> Priority: Minor
> Labels: newbie, style
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> Exactly like MESOS-1055, just splitting out the task for lib process into a
> separate issue.
> From the google style guide:
> Normally, if a constructor takes one argument, it can be used as a
> conversion. For instance, if you define Foo::Foo(string name) and then pass a
> string to a function that expects a Foo, the constructor will be called to
> convert the string into a Foo and will pass the Foo to your function for you.
> This can be convenient but is also a source of trouble when things get
> converted and new objects created without you meaning them to. Declaring a
> constructor explicit prevents it from being invoked implicitly as a
> conversion.
> Implicit conversions should be the exception to avoid unwanted and unexpected
> behaviour.
--
This message was sent by Atlassian JIRA
(v6.2#6252)