class C1 {
public:
C1();
~C1();
C1 *method_1() {
return this;
}
C1 method_2() {
return C1();
}
void method_3() {
const C1 &ref = C1();
}
};
class C11 : public C1 {
};
class C2 {
private:
int x;
friend class C3;
public:
static_assert(sizeof(x) == sizeof(int), "Error");
typedef class C2::C2 InjType;
};