| // PR c++/89480 | |
| // { dg-do compile { target c++11 } } | |
| template <typename Foo, Foo Part> | |
| struct TSelect {}; | |
| enum What { | |
| The | |
| }; | |
| template <typename Foo> | |
| struct AnotherOneSelector { | |
| static constexpr Foo Id = Foo::The; | |
| }; | |
| template <typename Foo, typename SelectPartType> | |
| struct THelper; | |
| template <typename Foo> | |
| struct THelper<Foo, TSelect<Foo, Foo{AnotherOneSelector<Foo>::Id}>> {}; | |
| int main() { | |
| THelper<What, TSelect<What, What::The>> t; | |
| } |