
9 Sep
2014
9 Sep
'14
5:45 a.m.
On Tue Sep 09 2014 at 2:20:24 AM Andrzej Krzemienski <akrzemi1@gmail.com> wrote:
I went to see how Boost.Variant addresses this problem. Interestingly, it doesn't.
#include <boost/variant.hpp>
struct Wrapper { operator int () { return 9; } operator boost::variant<int, long> () { return 7; } };
int main() { boost::variant<int, long> v = Wrapper(); assert(boost::get<int>(v) == 7); }
This program assertion-fails on MSVC.
Okay, that's interesting. What's the process here, do we file a bug to Microsoft? Send in a defect report to the committee? Do we know the clauses in the standard that's supposed to make this "do the right thing"?