1 // { dg-do compile { target c++14 } } 2 3 template<int A, int B> 4 struct S1 5 { 6 static constexpr int a = A; 7 static constexpr int b = B; 8 }; 9 10 template<class T> 11 constexpr int var = T::a + T::b; 12 13 template<template<int,int> class T, int A> 14 constexpr int var2 = var<T<A, A>> + A; 15 main()16int main () 17 { 18 static_assert(var2<S1, 40> == 120, ""); 19 } 20