1 // Test that passing a non-variadic template to a variadic TTP works 2 // with explicit template arguments in a function call.. 3 // { dg-do compile { target c++11 } } 4 5 template<template<typename> class Property, typename Type> 6 bool test_property(typename Property<Type>::value_type value); 7 8 template<template<typename...> class Property, 9 typename Type1, typename... Types> 10 bool test_property(typename Property<Type1, Types...>::value_type value); 11 12 template <class T> 13 struct X 14 { 15 using type = X; 16 using value_type = int; 17 static const value_type value = 42; 18 }; 19 main()20int main() 21 { 22 test_property<X,int>(42); // { dg-error "ambiguous" } 23 } 24