On 1/18/22 11:05, Marek Polacek wrote:
On Mon, Jan 17, 2022 at 01:48:48PM -0500, Jason Merrill wrote:
On 1/14/22 19:22, Marek Polacek wrote:
This is a "canonical types differ for identical types" ICE, which started
with r11-4682. It's a bit tricky to explain. Consider:
template struct S
On Sat, Jan 15, 2022 at 09:24:05AM -0500, Patrick Palka wrote:
> On Fri, 14 Jan 2022, Marek Polacek via Gcc-patches wrote:
>
> > This is a "canonical types differ for identical types" ICE, which started
> > with r11-4682. It's a bit tricky to explain. Consider:
> >
> > template struct S {
>
On Mon, Jan 17, 2022 at 01:48:48PM -0500, Jason Merrill wrote:
> On 1/14/22 19:22, Marek Polacek wrote:
> > This is a "canonical types differ for identical types" ICE, which started
> > with r11-4682. It's a bit tricky to explain. Consider:
> >
> >template struct S {
> > S bar() noexce
On 1/14/22 19:22, Marek Polacek wrote:
This is a "canonical types differ for identical types" ICE, which started
with r11-4682. It's a bit tricky to explain. Consider:
template struct S {
S bar() noexcept(T::value); // #1
S foo() noexcept(T::value); // #2
};
template S
On Fri, 14 Jan 2022, Marek Polacek via Gcc-patches wrote:
> This is a "canonical types differ for identical types" ICE, which started
> with r11-4682. It's a bit tricky to explain. Consider:
>
> template struct S {
> S bar() noexcept(T::value); // #1
> S foo() noexcept(T::value); /
This is a "canonical types differ for identical types" ICE, which started
with r11-4682. It's a bit tricky to explain. Consider:
template struct S {
S bar() noexcept(T::value); // #1
S foo() noexcept(T::value); // #2
};
template S S::foo() noexcept(T::value) {} // #3
We ICE