Boost logo

Boost :

Subject: Re: [boost] [Config] Big changes in C++0x detection...
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-03-18 16:07:38


On 3/18/2011 3:36 PM, Stephan T. Lavavej wrote:
> [Mathias Gaunard]
>> Here is a testcase of another bug that causes an error in result_of:
>> This fails with an error message in _Remove_reference called by _Result_of.
>
> I've verified that this fails to compile with VC10 RTM/SP1 and successfully compiles with my current build of VC11:
>
> C:\Temp>type meow.cpp
> #include<functional>
>
> void foo(int) { }
>
> struct bar_t {
> template<typename Sig> struct result;
>
> template<typename This, typename F> struct result<This(F)> {
> typedef void type;
> };
>
> template<typename F> void operator()(const F&) const { }
> };
>
> template<typename F> typename std::result_of<bar_t(const F&)>::type bar(const F& f) {
> bar_t b;
> return b(f);
> }
>
> void call_foo() {
> bar(foo);
> }
>
> C:\Temp>cl
> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 17.00.40316 for 80x86
> Copyright (C) Microsoft Corporation. All rights reserved.
>
> usage: cl [ option... ] filename... [ /link linkoption... ]
>
> C:\Temp>cl /EHsc /nologo /W4 /c meow.cpp
> meow.cpp
>
> C:\Temp>
>
> John Maddock reported a bunch of type traits bugs to us, which I filed as the "Consolidated Omnibus Type Traits Bug of 2010", and we fixed them all. (Most of them were library bugs, but a couple were compiler bugs, as I recall.)
>
> If you don't like Connect, you can report C++ Standard Library bugs directly to me. My capacity to fix bugs isn't *infinite* (more like exponentially reallocating), but I'll do my best.

Like Eric, I have reported numerous C++ ( and C++/CLI ) issues to
Microsoft over the years, and particularly since .Net in 2001, which
Microsoft will not fix as long as some workaround exists. While I
appreciate the fact that Microsoft will indeed look for a workaround if
you ask them, the fact that these C++ bugs continue unfixed release
after release simply means that it is more likely that C++ programmers
will run into them eventually, and then have to waste their time and
efforts finding the workaround rather than doing constructive
programming. I have my doubts whether this same approach is taken with
C# and VB Net.

I don't know who the "us" is to whom John Maddock reported his type
trait bugs and I do not know what you mean by "C++ standard library
bugs". Care to explain ?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk