1132956Smarkm// PR c++/35255, DR 115
2132956Smarkm// { dg-do link }
3132956Smarkm
4132956Smarkm// 14.8.1: In contexts where deduction is done and fails, or in contexts
5132956Smarkm// where deduction is not done, if a template argument list is specified
6132956Smarkm// and it, along with any default template arguments, identifies a single
7132956Smarkm// function template specialization, then the template-id is an lvalue for
8132956Smarkm// the function template specialization.
9132956Smarkm
10132956Smarkmtemplate <class Fn> void def(Fn fn) {}
11132956Smarkm
12132956Smarkmtemplate <class T1, class T2> T2 fn(T1, T2);
13132956Smarkmtemplate <class T1> int fn(T1) { }
14132956Smarkm
15132956Smarkmint main()
16132956Smarkm{
17132956Smarkm  def(fn<int>);
18132956Smarkm}
19132956Smarkm