summaryrefslogtreecommitdiffstats
path: root/src/test/ui/derived-errors/issue-31997.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/derived-errors/issue-31997.rs')
-rw-r--r--src/test/ui/derived-errors/issue-31997.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/derived-errors/issue-31997.rs b/src/test/ui/derived-errors/issue-31997.rs
new file mode 100644
index 000000000..ff619313a
--- /dev/null
+++ b/src/test/ui/derived-errors/issue-31997.rs
@@ -0,0 +1,18 @@
+// Test that the resolve failure does not lead to downstream type errors.
+// See issue #31997.
+#![allow(deprecated)]
+
+trait TheTrait { }
+
+fn closure<F, T>(x: F) -> Result<T, ()>
+ where F: FnMut() -> T, T: TheTrait,
+{
+ unimplemented!()
+}
+
+fn foo() -> Result<(), ()> {
+ try!(closure(|| bar(core::ptr::null_mut()))); //~ ERROR cannot find function `bar` in this scope
+ Ok(())
+}
+
+fn main() { }