From 5b88fbabebb2e3b2f04d8f67495bd9ea82661122 Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Thu, 15 Aug 2019 13:56:57 +0900 Subject: Check FnHeader not to cause ICE --- src/test/ui/issues/auxiliary/issue-63226.rs | 14 ++++++++++++++ src/test/ui/issues/issue-63226.rs | 10 ++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/test/ui/issues/auxiliary/issue-63226.rs create mode 100644 src/test/ui/issues/issue-63226.rs (limited to 'src/test') diff --git a/src/test/ui/issues/auxiliary/issue-63226.rs b/src/test/ui/issues/auxiliary/issue-63226.rs new file mode 100644 index 00000000000..39cc01a415e --- /dev/null +++ b/src/test/ui/issues/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/issues/issue-63226.rs b/src/test/ui/issues/issue-63226.rs new file mode 100644 index 00000000000..f974bcf820c --- /dev/null +++ b/src/test/ui/issues/issue-63226.rs @@ -0,0 +1,10 @@ +// aux-build:issue-63226.rs +// compile-flags:--extern issue_63226 +// edition:2018 +// build-pass + +use issue_63226::VTable; + +static ICE_ICE:&'static VTable=VTable::vtable(); + +fn main() {} -- cgit 1.4.1-3-g733a5 From e688352d2b6f4ad6fc931b84ff87b124433305af Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Thu, 15 Aug 2019 16:59:03 +0900 Subject: Adjust regression test --- src/test/ui/consts/auxiliary/issue-63226.rs | 14 ++++++++++++++ src/test/ui/consts/issue-63226.rs | 12 ++++++++++++ src/test/ui/issues/auxiliary/issue-63226.rs | 14 -------------- src/test/ui/issues/issue-63226.rs | 10 ---------- 4 files changed, 26 insertions(+), 24 deletions(-) create mode 100644 src/test/ui/consts/auxiliary/issue-63226.rs create mode 100644 src/test/ui/consts/issue-63226.rs delete mode 100644 src/test/ui/issues/auxiliary/issue-63226.rs delete mode 100644 src/test/ui/issues/issue-63226.rs (limited to 'src/test') 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() {} diff --git a/src/test/ui/issues/auxiliary/issue-63226.rs b/src/test/ui/issues/auxiliary/issue-63226.rs deleted file mode 100644 index 39cc01a415e..00000000000 --- a/src/test/ui/issues/auxiliary/issue-63226.rs +++ /dev/null @@ -1,14 +0,0 @@ -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/issues/issue-63226.rs b/src/test/ui/issues/issue-63226.rs deleted file mode 100644 index f974bcf820c..00000000000 --- a/src/test/ui/issues/issue-63226.rs +++ /dev/null @@ -1,10 +0,0 @@ -// aux-build:issue-63226.rs -// compile-flags:--extern issue_63226 -// edition:2018 -// build-pass - -use issue_63226::VTable; - -static ICE_ICE:&'static VTable=VTable::vtable(); - -fn main() {} -- cgit 1.4.1-3-g733a5