Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaTemplate/gh61159.cpp @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | 1f2b6ac9f198 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++20 %s // expected-no-diagnostics namespace GH61159 { template <typename T> struct X { struct I; }; template <> struct X<int>::I { template <int ct> constexpr int f() { return ct; }; int data = 3; }; template <typename T> struct X<T>::I { template <T ct> constexpr T f() { return ct + 1; }; T data = 7; }; static_assert(X<int>::I{}.f<17>() == 17); static_assert(X<int>::I{}.data == 3); static_assert(X<short>::I{}.data == 7); static_assert(X<short>::I{}.f<18>() == 19); template <typename T> struct Y { struct I; }; template <> struct Y<int> { struct I { template <int ct> constexpr int f() { return ct; }; int data = 3; }; }; static_assert(Y<int>::I{}.f<17>() == 17); static_assert(Y<int>::I{}.data == 3); } // namespace GH61159