diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/expectations/tests/qualified-dependent-types.rs | 17 | ||||
-rw-r--r-- | tests/headers/qualified-dependent-types.hpp | 16 |
2 files changed, 33 insertions, 0 deletions
diff --git a/tests/expectations/tests/qualified-dependent-types.rs b/tests/expectations/tests/qualified-dependent-types.rs new file mode 100644 index 00000000..f1b2c845 --- /dev/null +++ b/tests/expectations/tests/qualified-dependent-types.rs @@ -0,0 +1,17 @@ +#![allow( + dead_code, + non_snake_case, + non_camel_case_types, + non_upper_case_globals +)] + +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Foo { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Bar { + pub _address: u8, +} diff --git a/tests/headers/qualified-dependent-types.hpp b/tests/headers/qualified-dependent-types.hpp new file mode 100644 index 00000000..fcdfc87c --- /dev/null +++ b/tests/headers/qualified-dependent-types.hpp @@ -0,0 +1,16 @@ +// Issue #2085. + +template<typename T> +struct Foo; + +template<typename T, typename U> +struct Bar {}; + +template<typename T> +struct Bar<T, void> { + using BarDependent = typename Foo<T>::Dependent; + void method(const BarDependent &); +}; + +template<typename T> +void Bar<T, void>::method(const BarDependent &) {} |