145
|
1 // PR c++/89480
|
|
2 // { dg-do compile { target c++11 } }
|
|
3
|
|
4 template <typename Foo, Foo Part>
|
|
5 struct TSelect {};
|
|
6
|
|
7 enum What {
|
|
8 The
|
|
9 };
|
|
10
|
|
11 template <typename Foo>
|
|
12 struct AnotherOneSelector {
|
|
13 static constexpr Foo Id = Foo::The;
|
|
14 };
|
|
15
|
|
16 template <typename Foo, typename SelectPartType>
|
|
17 struct THelper;
|
|
18
|
|
19 template <typename Foo>
|
|
20 struct THelper<Foo, TSelect<Foo, Foo{AnotherOneSelector<Foo>::Id}>> {};
|
|
21
|
|
22 int main() {
|
|
23 THelper<What, TSelect<What, What::The>> t;
|
|
24 }
|