about summary refs log tree commit diff
path: root/src/test/compile-fail/mutable-enum-indirect.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/compile-fail/mutable-enum-indirect.rs')
-rw-r--r--src/test/compile-fail/mutable-enum-indirect.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/compile-fail/mutable-enum-indirect.rs b/src/test/compile-fail/mutable-enum-indirect.rs
new file mode 100644
index 00000000000..9fad05387c6
--- /dev/null
+++ b/src/test/compile-fail/mutable-enum-indirect.rs
@@ -0,0 +1,12 @@
+// Tests that an `&` pointer to something inherently mutable is itself
+// to be considered mutable.
+
+#[no_freeze]
+enum Foo { A }
+
+fn bar<T: Freeze>(_: T) {}
+
+fn main() {
+    let x = A;
+    bar(&x); //~ ERROR type parameter with an incompatible type
+}