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()16 int main ()
17 {
18   static_assert(var2<S1, 40> == 120, "");
19 }
20