Richard Smith | 7a591a4 | 2015-07-08 02:22:15 +0000 | [diff] [blame] | 1 | template<typename, typename = int> struct A; |
| 2 | template<typename T> struct B; |
| 3 | |
| 4 | template<typename, typename> struct A {}; |
| 5 | template<typename T> struct B : A<T> {}; |
Richard Smith | 6f4e2e0 | 2016-08-23 19:41:39 +0000 | [diff] [blame] | 6 | template<typename T> inline auto C(T) {} |
Richard Smith | 7a591a4 | 2015-07-08 02:22:15 +0000 | [diff] [blame] | 7 | |
| 8 | inline void f() { |
| 9 | B<int> bi; |
Richard Smith | 6f4e2e0 | 2016-08-23 19:41:39 +0000 | [diff] [blame] | 10 | C(0); |
Richard Smith | 7a591a4 | 2015-07-08 02:22:15 +0000 | [diff] [blame] | 11 | } |
Richard Smith | 6561f92 | 2016-09-12 21:06:40 +0000 | [diff] [blame] | 12 | |
| 13 | namespace CrossModuleMerge { |
| 14 | template<typename, typename = int> struct A; |
| 15 | template<typename T> struct B; |
| 16 | |
| 17 | template<typename, typename> struct A {}; |
| 18 | template<typename T> struct B : A<T> {}; |
| 19 | template<typename T> inline auto C(T) {} |
| 20 | } |