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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |SUSPENDED
   Last reconfirmed|                            |2021-07-12
            Summary|top cv qualifier not        |[DR 1001] top cv qualifier
                   |dropped for array type      |not dropped for array type
                   |typedef in template class   |typedef in template class
                   |(core 1001)                 |

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to nick huang from comment #0)
> This example code from core
> 1001(http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1001) is
> still giving no matching template declaration error.

The issue is still open and has not been resolved yet.

> 2. C++ standard requires top level cv qualifier being dropped when forming
> function type.(https://timsong-cpp.github.io/cppwp/dcl.fct#5)

Yes, that's what the issue quotes, and it also says "It is not clear how or
whether this adjustment should be applied to parameters of function templates
when the parameter has a dependent type, however."

> 
> 3. When both 'const' are removed from template function and specialization,
> there is no error which proves array type works as long as there is no top
> level cv qualifier.
> 
> 4. I feel this is rather a high-profile bug as the example code is listed in
> active core language issues long ago,

The issue is still active, meaning the standard has not been fixed to say what
the correct behaviour is.

Reply via email to