diff options
Diffstat (limited to 'src/test/ui/never_type/fallback-closure-ret.rs')
-rw-r--r-- | src/test/ui/never_type/fallback-closure-ret.rs | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/src/test/ui/never_type/fallback-closure-ret.rs b/src/test/ui/never_type/fallback-closure-ret.rs deleted file mode 100644 index 5c8ce48cb..000000000 --- a/src/test/ui/never_type/fallback-closure-ret.rs +++ /dev/null @@ -1,23 +0,0 @@ -// This test verifies that never type fallback preserves the following code in a -// compiling state. This pattern is fairly common in the wild, notably seen in -// wasmtime v0.16. Typically this is some closure wrapper that expects a -// collection of 'known' signatures, and -> ! is not included in that set. -// -// This test is specifically targeted by the unit type fallback when -// encountering a set of obligations like `?T: Foo` and `Trait::Projection = -// ?T`. In the code below, these are `R: Bar` and `Fn::Output = R`. -// -// revisions: nofallback fallback -// check-pass - -#![cfg_attr(fallback, feature(never_type_fallback))] - -trait Bar { } -impl Bar for () { } -impl Bar for u32 { } - -fn foo<R: Bar>(_: impl Fn() -> R) {} - -fn main() { - foo(|| panic!()); -} |