diff options
Diffstat (limited to 'src/test/ui/issues/issue-50865-private-impl-trait')
-rw-r--r-- | src/test/ui/issues/issue-50865-private-impl-trait/auxiliary/lib.rs | 18 | ||||
-rw-r--r-- | src/test/ui/issues/issue-50865-private-impl-trait/main.rs | 16 |
2 files changed, 0 insertions, 34 deletions
diff --git a/src/test/ui/issues/issue-50865-private-impl-trait/auxiliary/lib.rs b/src/test/ui/issues/issue-50865-private-impl-trait/auxiliary/lib.rs deleted file mode 100644 index 1e20a5460..000000000 --- a/src/test/ui/issues/issue-50865-private-impl-trait/auxiliary/lib.rs +++ /dev/null @@ -1,18 +0,0 @@ -// revisions: default miropt -//[miropt]compile-flags: -Z mir-opt-level=3 -// ~^ This flag is for #77668, it used to be ICE. - -#![crate_type = "lib"] - -pub fn bar<P>( // Error won't happen if "bar" is not generic - _baz: P, -) { - hide_foo()(); -} - -fn hide_foo() -> impl Fn() { // Error won't happen if "iterate" hasn't impl Trait or has generics - foo -} - -fn foo() { // Error won't happen if "foo" isn't used in "iterate" or has generics -} diff --git a/src/test/ui/issues/issue-50865-private-impl-trait/main.rs b/src/test/ui/issues/issue-50865-private-impl-trait/main.rs deleted file mode 100644 index 16dfac53a..000000000 --- a/src/test/ui/issues/issue-50865-private-impl-trait/main.rs +++ /dev/null @@ -1,16 +0,0 @@ -// run-pass -// aux-build:lib.rs - -// Regression test for #50865. -// When using generics or specifying the type directly, this example -// codegens `foo` internally. However, when using a private `impl Trait` -// function which references another private item, `foo` (in this case) -// wouldn't be codegenned until main.rs used `bar`, as with impl Trait -// it is not cast to `fn()` automatically to satisfy e.g. -// `fn foo() -> fn() { ... }`. - -extern crate lib; - -fn main() { - lib::bar(()); // Error won't happen if bar is called from same crate -} |