1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 using nullptr_t = decltype(nullptr);
21 // A pair of comparisons; 'inner' is a dependent name so can't be assumed
23 return this->inner < other > ::z;
27 void use_x(X<int> x) { x.f(0); }
34 struct Inner : Y { // expected-note {{declared here}}
38 // We can determine that 'inner' does not exist at parse time, so can
39 // perform typo correction in this case.
40 return this->inner<other>::z; // expected-error {{no template named 'inner' in 'Y<T>'; did you mean 'Inner'?}}
44 struct Q { constexpr operator int() { return 0; } };
45 void use_y(Y<Q> x) { x.f(Q()); }