$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [1.48.0] TypeTraits additions
From: Frédéric Bron (frederic.bron_at_[hidden])
Date: 2011-10-12 01:21:56
>> The error occurred because
>>
>> no_operator operator BOOST_TT_TRAIT_OP (const any&);
>>
>> is declared too late (line 135 in has_prefix_operator.hpp).
>> Is it possible to move "Step 4" (line 122-135) before "Step 2" (line 51-74)?
>> This removes the compilation errors in has_negate_test.cpp.
>> I think other test failures on clang can be fixed in a similar way.
>
> Follow-up:
> After fixing detail/has_binary_operator.hpp, has_postfix_operator.hpp
> and has_prefix_operator.hpp (by moving "Step 4" before "Step 2"),
> all the tests ran successfully on clang (trunk) both in C++03 and C++11 modes.
Dear Michel,
Thank you very much for your message. At some point I changed
something in the implementation and had to reorder the steps in the
detail namespace. I did not see that the definition of the detail
operator was coming too late but nothing told me the contrary because
there was no failure with g++ and intel-linux. Now that you say it, I
wonder why it works for other compilers!
I have applied the changes and all tests still pass with g++ 4.5.2 and
4.6.1 and intel-linux 11 and 12. So I believe it is safe.
Committed to trunk r74924. Can you rerun the test on the trunk? I will
then ask for permission to merge to release if everything is fine (I
would also wait for new testing with msvc).
Frédéric