https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61182

--- Comment #9 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
(In reply to Jonathan Wakely from comment #7)
> And Boost. I have to wonder why their remove_const is so much more
> complicated than ours:
> 
>   template<typename _Tp>
>     struct remove_const
>     { typedef _Tp     type; };
> 
>   template<typename _Tp>
>     struct remove_const<_Tp const>
>     { typedef _Tp     type; };
> 
> That doesn't need to form a pointer then remove it again, so works with
> function types.

I don' think that this specialization can - according to the language - remove
const qualifiers of function types, because there is no const-qualifier to
remove. As far as I remember the core language makes this possible when
rewriting the specialization to be one for a function type, as of core wording
resolution

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#547

Reply via email to