Boost logo

Boost :

Subject: Re: [boost] [result_of] fails with clan (C++11)
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-11-27 16:21:55


On 27/11/12 21:56, Jeffrey Lee Hellrung, Jr. wrote:
> On Tue, Nov 27, 2012 at 12:47 PM, Oliver Kowalke
> <oliver.kowalke_at_[hidden]>wrote:
>
>> Hello,
>> clang (c++11 support) fails on code like:
>>
>> BOOST_STATIC_ASSERT((
>> is_same< void, typename result_of< Fn() >::type >::value));
>>
>> with error:
>>
>> no type named 'type' in 'boost::result_of<void (&())(X &)>'
>> is_same< void, typename result_of< Fn() >::type >::value));
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~**~~
>>
>
> Does Fn == void (&)(X&) or void (X&) ? I.e., is it a unary function type?
>
> There might've been a recent change only for Clang to allow result_of to be
> better usable with SFINAE: result_of< F ( Args... ) > doesn't have a nested
> type typedef if F ( Args... ) is ill-formed (which appears to be the case
> here).

And the person who did that change didn't think of running the test?


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