1// { dg-do assemble  }
2//
3// Origin: Jens.Maurer@gmx.net
4// Copyright (C) 2001 Free Software Foundation, Inc.
5// Contributed by Nathan Sidwell 11 Apr 2001 <nathan@codesourcery.com>
6
7// Bug 1844. We can meet types in cp_tree_equal via a template-id-expr.
8
9typedef int *Ptr;
10
11template<class T> struct B
12{
13  typedef typename T::template X<T> type;
14  typedef typename T::template X<Ptr> type2;
15  typedef typename T::template X<int *> type3;
16
17  void foo (type);
18  void baz (type2);
19
20};
21
22template<class T> void B<T>::foo (type)
23{
24}
25template<class T> void B<T>::baz (type3)
26{
27}
28