1 // PR c++/46129
2 // The default argument for A<int>::B::operator() should not be required
3 
4 template <class T>
5 struct A {
6   struct B {
operatorA::B7     void operator () (const T& d_ = f(T()) ) { }
8   };
9 };
10 
main()11 int main() {
12   A<int>::B b;
13 }
14