1// PR c++/21682
2
3namespace one {
4  template<typename T> int bar1(T);
5}
6
7using one::bar1;
8
9template<typename T> void bar1(T);
10
11template<typename T> void bar1r(T);
12
13namespace oner {
14  template<typename T> int bar1r(T);
15}
16
17using oner::bar1r;
18
19namespace two {
20  template<typename T, typename U> void bar2(T);
21}
22
23using two::bar2;
24
25template<typename T> void bar2(T);
26
27template<typename T> void bar2r(T);
28
29namespace twor {
30  template<typename T, typename U> void bar2r(T);
31}
32
33using twor::bar2r;
34
35namespace three {
36  template<int i> void bar3();
37}
38
39using three::bar3;
40
41template<typename T> void bar3();
42
43template<typename T> void bar3r();
44
45namespace threer {
46  template<int i> void bar3r();
47}
48
49using threer::bar3r;
50