Date: Thu, 27 Apr 2023 17:08:10 +0200
Am Do., 27. Apr. 2023 um 17:05 Uhr schrieb Thiago Macieira via
Std-Discussion <std-discussion_at_[hidden]>:
>
> Is this intended with C++20's class-type NTTPs?
No,
see
https://cplusplus.github.io/CWG/issues/cwg_active.html#2542
> template <auto Call = []{}> struct S {};
> static_assert(!std::is_same_v<S<>, S<>>);
>
> It passes the compilation in the three major compilers that have implemented
> the feature in the first place:
> https://conformance.godbolt.org/z/edf8Pv71j
>
> I'm not asking to change this. I actually want it this way. But I'd like a
> confirmation that this is the intention and won't suddenly break my code later.
It is not intended and it is likely that compilers will adjust to make
that ill-formed.
- Daniel
Std-Discussion <std-discussion_at_[hidden]>:
>
> Is this intended with C++20's class-type NTTPs?
No,
see
https://cplusplus.github.io/CWG/issues/cwg_active.html#2542
> template <auto Call = []{}> struct S {};
> static_assert(!std::is_same_v<S<>, S<>>);
>
> It passes the compilation in the three major compilers that have implemented
> the feature in the first place:
> https://conformance.godbolt.org/z/edf8Pv71j
>
> I'm not asking to change this. I actually want it this way. But I'd like a
> confirmation that this is the intention and won't suddenly break my code later.
It is not intended and it is likely that compilers will adjust to make
that ill-formed.
- Daniel
Received on 2023-04-27 15:08:17