----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/67465/ -----------------------------------------------------------
Review request for mesos, Akash Gupta and Joseph Wu. Repository: mesos Description ------- This constructor _should_ be `explicit` as the other constructors are; however, for historical reasons it is implicit in order to support the semantics of assigning from `-1, 0, 1, 2`. Unfortunately, its implicitness leads to subtle bugs. For instance, the code `int_fd s = ::socket(...)` on Windows compiles, but behaves incorrectly because the RHS `SOCKET` type is implicitly converted to an `int` to satisfy the only available implicit constructor, since the `WindowsFD(SOCKET)` constructor is marked `explicit`. As we should never construct off any of these values, but cannot constrain it at compile-time, we should add a fatal runtime error instead. Diffs ----- 3rdparty/stout/include/stout/os/windows/fd.hpp 5dbdff2680370d123579c5e3fdd9b0e0adaf512e Diff: https://reviews.apache.org/r/67465/diff/1/ Testing ------- Still building, but this is what I propose. This is better than subtle sad panda bugs. Thanks, Andrew Schwartzmeyer
