1// { dg-do assemble  }
2
3// Copyright (C) 2000 Free Software Foundation, Inc.
4// Contributed by Nathan Sidwell 22 Nov 2000 <nathan@codesourcery.com>
5
6// Bug 789. We ICE'd trying to instantiate B<float> because there was no
7// existing partial specialization of C in A<float>.
8
9template <typename T>
10struct A {
11    template <typename D1>
12    struct C { };
13};
14
15template <typename T1>
16struct B {
17   typename A<T1>::template C<int> s1;
18};
19
20int main()
21{
22    B<float> b;
23
24    return 0;
25}
26