diff options
Diffstat (limited to 'tests/headers/canonical-types.hpp')
-rw-r--r-- | tests/headers/canonical-types.hpp | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/tests/headers/canonical-types.hpp b/tests/headers/canonical-types.hpp deleted file mode 100644 index c8eadd7e..00000000 --- a/tests/headers/canonical-types.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// bindgen-flags: -- -std=c++14 - -// Issue #2078. To pick up the definition of `ClassCInnerA`, -// `ty.canonical_type().declaration().definition()` is needed. - -template<class T> -class ClassA { -public: - class ClassAInner { - public: - T *x; - }; -}; - -template<class D, class I> -class ClassB { -public: - void foo() { - ((D *)0)->quux(); - } -}; - -template<typename T> -class ClassC { - struct ClassCInnerA; - - struct ClassCInnerB { - ClassCInnerA *cache; - }; - static_assert(sizeof(ClassCInnerB) > 0, ""); - - struct ClassCInnerA { - ClassCInnerB *member; - }; - -public: - class ClassCInnerCRTP : public ClassB<ClassCInnerCRTP, typename ClassA<ClassCInnerA>::ClassAInner> { - public: - void quux() { - ((typename ClassA<ClassCInnerA>::ClassAInner *)0)->x->member; - } - }; -}; - -class ClassD : public ClassB<ClassD, ClassC<int>::ClassCInnerCRTP> { -public: - void bar() { - ((ClassC<int>::ClassCInnerCRTP *)0)->foo(); - } -}; - |