about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-08-15 14:34:08 +0200
committerGitHub <noreply@github.com>2019-08-15 14:34:08 +0200
commit19d6178b8f44a8bee56b45df07116a6d490eb7d1 (patch)
treed23c56ca721e169fd0ba6026e01629482f49ed01 /src/test
parent77f2694fdc7fb469511e0ca485c164b9ef66f64f (diff)
parent7adb20e4cda94b9a726d99594afa506c6d40f453 (diff)
Rollup merge of #63582 - JohnTitor:fix-ice-63226, r=oli-obk
Fix ICE #63226

Fixes #63226

r? @oli-obk
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/consts/auxiliary/issue-63226.rs14
-rw-r--r--src/test/ui/consts/issue-63226.rs12
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/consts/auxiliary/issue-63226.rs b/src/test/ui/consts/auxiliary/issue-63226.rs
new file mode 100644
index 00000000000..39cc01a415e
--- /dev/null
+++ b/src/test/ui/consts/auxiliary/issue-63226.rs
@@ -0,0 +1,14 @@
+pub struct VTable{
+    state:extern fn(),
+}
+
+impl VTable{
+    pub const fn vtable()->&'static VTable{
+        Self::VTABLE
+    }
+
+    const VTABLE: &'static VTable =
+        &VTable{state};
+}
+
+extern fn state() {}
diff --git a/src/test/ui/consts/issue-63226.rs b/src/test/ui/consts/issue-63226.rs
new file mode 100644
index 00000000000..deec4499008
--- /dev/null
+++ b/src/test/ui/consts/issue-63226.rs
@@ -0,0 +1,12 @@
+// aux-build:issue-63226.rs
+// compile-flags:--extern issue_63226
+// edition:2018
+// build-pass
+// A regression test for issue #63226.
+// Checks if `const fn` is marked as reachable.
+
+use issue_63226::VTable;
+
+static ICE_ICE:&'static VTable=VTable::vtable();
+
+fn main() {}