1// { dg-do assemble  }
2// GROUPS passed templates
3
4class String {
5        char s[100];
6};
7
8template <class Element>
9class Art {
10public:
11        Element *data;
12        Art() { data=new Element[100]; }
13};
14
15template <class Key,class Value>
16class Assoc {
17public:
18        struct KeyValue {
19                Key key;
20                Value value;
21                int filled;
22        };
23
24        Art<KeyValue> data;
25        int fill;
26};
27
28int main() {
29        Assoc<String,String> table;
30}
31