summary refs log tree commit diff
path: root/tests/ui/generics/generic-impl-method-match-autoderef-18514.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/generics/generic-impl-method-match-autoderef-18514.rs')
-rw-r--r--tests/ui/generics/generic-impl-method-match-autoderef-18514.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/generics/generic-impl-method-match-autoderef-18514.rs b/tests/ui/generics/generic-impl-method-match-autoderef-18514.rs
new file mode 100644
index 00000000000..3520e936209
--- /dev/null
+++ b/tests/ui/generics/generic-impl-method-match-autoderef-18514.rs
@@ -0,0 +1,18 @@
+//@ run-pass
+// Test that we don't ICE when codegenning a generic impl method from
+// an extern crate that contains a match expression on a local
+// variable place where one of the match case bodies contains an
+// expression that autoderefs through an overloaded generic deref
+// impl.
+
+//@ aux-build:generic-impl-method-match-autoderef-18514.rs
+
+extern crate generic_impl_method_match_autoderef_18514 as ice;
+use ice::{Tr, St};
+
+fn main() {
+    let st: St<()> = St(vec![]);
+    st.tr();
+}
+
+// https://github.com/rust-lang/rust/issues/18514