// Copyright (C) 2004 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 1 Apr 2004 <nathan@codesourcery.com>

// PR c++/3518
template <typename T> void Foo (const T &);
template <typename T> void Baz (const T (*)());

int &f ();

int main()
{
  Foo (f);
  Baz (f); // { dg-error "no matching function" "" }
}
