summaryrefslogtreecommitdiffstats
path: root/src/test/ui/typeck/issue-103899.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/typeck/issue-103899.rs')
-rw-r--r--src/test/ui/typeck/issue-103899.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/typeck/issue-103899.rs b/src/test/ui/typeck/issue-103899.rs
new file mode 100644
index 000000000..ac9e4c716
--- /dev/null
+++ b/src/test/ui/typeck/issue-103899.rs
@@ -0,0 +1,30 @@
+// check-fail
+// failure-status: 101
+// dont-check-compiler-stderr
+// known-bug: #103899
+
+trait BaseWithAssoc {
+ type Assoc;
+}
+
+trait WrapperWithAssoc {
+ type BaseAssoc: BaseWithAssoc;
+}
+
+struct Wrapper<B> {
+ inner: B,
+}
+
+struct ProjectToBase<T: BaseWithAssoc> {
+ data_type_h: T::Assoc,
+}
+
+struct DoubleProject<L: WrapperWithAssoc> {
+ buffer: Wrapper<ProjectToBase<L::BaseAssoc>>,
+}
+
+fn trigger<L: WrapperWithAssoc<BaseAssoc = ()>>() -> DoubleProject<L> {
+ loop {}
+}
+
+fn main() {}