summaryrefslogtreecommitdiffstats
path: root/src/test/ui/on-unimplemented/enclosing-scope.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/on-unimplemented/enclosing-scope.rs')
-rw-r--r--src/test/ui/on-unimplemented/enclosing-scope.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/on-unimplemented/enclosing-scope.rs b/src/test/ui/on-unimplemented/enclosing-scope.rs
new file mode 100644
index 000000000..881bff63f
--- /dev/null
+++ b/src/test/ui/on-unimplemented/enclosing-scope.rs
@@ -0,0 +1,27 @@
+// Test scope annotations from `enclosing_scope` parameter
+
+#![feature(rustc_attrs)]
+
+#[rustc_on_unimplemented(enclosing_scope="in this scope")]
+trait Trait{}
+
+struct Foo;
+
+fn f<T: Trait>(x: T) {}
+
+fn main() {
+ let x = || {
+ f(Foo{}); //~ ERROR the trait bound `Foo: Trait` is not satisfied
+ let y = || {
+ f(Foo{}); //~ ERROR the trait bound `Foo: Trait` is not satisfied
+ };
+ };
+
+ {
+ {
+ f(Foo{}); //~ ERROR the trait bound `Foo: Trait` is not satisfied
+ }
+ }
+
+ f(Foo{}); //~ ERROR the trait bound `Foo: Trait` is not satisfied
+}