// { dg-do assemble } // Origin: Alfred Minarik template struct allocator { typedef int size_type; }; template struct string { typedef typename allocator::size_type size_type; static size_type size; size_type max_size() const { return size; } }; template struct string ;