about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2018-10-23 23:37:12 +0200
committerFelix S. Klock II <pnkfelix@pnkfx.org>2018-10-26 23:47:53 +0200
commitf09a0eb9c1492b83ae7feacbd8d86b48c9c0aa95 (patch)
treeab926851b3b80389d2c92623363732d3f215d2c2
parent7e761967ad810fa7698c15e05d1b4cab483524d6 (diff)
downloadrust-f09a0eb9c1492b83ae7feacbd8d86b48c9c0aa95.tar.gz
rust-f09a0eb9c1492b83ae7feacbd8d86b48c9c0aa95.zip
regression test for ICE I encountered in my patch.
-rw-r--r--src/test/ui/nll/user-annotations/issue-54570-bootstrapping.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/nll/user-annotations/issue-54570-bootstrapping.rs b/src/test/ui/nll/user-annotations/issue-54570-bootstrapping.rs
new file mode 100644
index 00000000000..0a8a6793dc7
--- /dev/null
+++ b/src/test/ui/nll/user-annotations/issue-54570-bootstrapping.rs
@@ -0,0 +1,31 @@
+// compile-pass
+#![feature(nll)]
+
+// This test is reduced from a scenario pnkfelix encountered while
+// bootstrapping the compiler.
+
+#[derive(Copy, Clone)]
+pub struct Spanned<T> {
+    pub node: T,
+    pub span: Span,
+}
+
+pub type Variant = Spanned<VariantKind>;
+// #[derive(Clone)] pub struct Variant { pub node: VariantKind, pub span: Span, }
+
+#[derive(Clone)]
+pub struct VariantKind { }
+
+#[derive(Copy, Clone)]
+pub struct Span;
+
+pub fn variant_to_span(variant: Variant) {
+    match variant {
+        Variant {
+            span: _span,
+            ..
+        } => { }
+    };
+}
+
+fn main() { }