// { dg-do assemble  }
// GROUPS passed templates default-arguments
template <class I>
class Class {
public:
  void func1(int n=1);
  void func2(int d) {}
};
template <class I> 
void Class<I>::func1(int n) {}

//if this is replaced by:
//void Class<I>::func1(int n=1) {}
//the code compiles.

int main() {
  Class<int> C;
  return 0;
}
