// RUN: %clang_cc1 %s -std=c++20 -fsyntax-only -verify // RUN: %clang_cc1 %s -std=c++20 -fsyntax-only -verify -fno-recovery-ast // RUN: %clang_cc1 %s -std=c++20 -fsyntax-only -verify -fexperimental-new-constant-interpreter // RUN: %clang_cc1 %s -std=c++20 -fsyntax-only -verify -fno-recovery-ast -fexperimental-new-constant-interpreter namespace NoCrash { struct ForwardDecl; // expected-note {{forward declaration of}} struct Foo { // expected-note 2{{candidate constructor}} ForwardDecl f; // expected-error {{field has incomplete type}} }; constexpr Foo getFoo() { Foo e = 123; // expected-error {{no viable conversion from 'int' to 'Foo'}} return e; } }