Clang Project

clang_source_code/test/Modules/Inputs/merge-using-decls/a.h
1struct X {
2  int v;
3  typedef int t;
4};
5
6struct YA {
7  int value;
8  typedef int type;
9};
10
11template<typename T> struct C : X, T {
12  using T::value;
13  using typename T::type;
14  using X::v;
15  using typename X::t;
16};
17
18template<typename T> struct D : X, T {
19  using T::value;
20  using typename T::type;
21  using X::v;
22  using typename X::t;
23};
24
25template<typename T> struct E : X, T {
26  using T::value;
27  using typename T::type;
28  using X::v;
29  using typename X::t;
30};
31
32template<typename T> struct F : X, T {
33  using T::value;
34  using typename T::type;
35  using X::v;
36  using typename X::t;
37};
38
39// Force instantiation.
40typedef C<YA>::type I;
41typedef D<YA>::type I;
42typedef E<YA>::type I;
43typedef F<YA>::type I;
44