| // { dg-do compile { target c++14 } } | |
| template<int A, int B> | |
| struct S1 | |
| { | |
| static constexpr int a = A; | |
| static constexpr int b = B; | |
| }; | |
| template<class T> | |
| constexpr int var = T::a + T::b; | |
| template<template<int,int> class T, int A> | |
| constexpr int var2 = var<T<A, A>> + A; | |
| int main () | |
| { | |
| static_assert(var2<S1, 40> == 120, ""); | |
| } |