From 66c9cd9e66012cfbbd1a111e0cca96e4b214aa8c Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Wed, 14 Jul 2021 12:31:58 -0300 Subject: Remove OpaqueTyOrigin::Binding --- src/test/ui/impl-trait/binding-without-value.rs | 9 ---- .../ui/impl-trait/binding-without-value.stderr | 16 ------- src/test/ui/impl-trait/bindings-opaque.rs | 17 -------- src/test/ui/impl-trait/bindings-opaque.stderr | 30 ------------- src/test/ui/impl-trait/bound-normalization-pass.rs | 34 ++++----------- .../impl-trait-in-bindings-issue-73003.rs | 8 ---- .../impl-trait-in-bindings-issue-73003.stderr | 11 ----- src/test/ui/impl-trait/impl-trait-in-bindings.rs | 49 ---------------------- .../ui/impl-trait/impl-trait-in-bindings.stderr | 11 ----- src/test/ui/impl-trait/issue-57200.rs | 15 ------- src/test/ui/impl-trait/issue-57200.stderr | 8 ---- src/test/ui/impl-trait/issue-57201.rs | 15 ------- src/test/ui/impl-trait/issue-57201.stderr | 8 ---- src/test/ui/impl-trait/issue-60473.rs | 15 ------- src/test/ui/impl-trait/issue-60473.stderr | 15 ------- src/test/ui/impl-trait/issue-67166.rs | 11 ----- src/test/ui/impl-trait/issue-67166.stderr | 15 ------- src/test/ui/impl-trait/issue-69840.rs | 16 ------- src/test/ui/impl-trait/issues/issue-78721.rs | 15 ------- src/test/ui/impl-trait/issues/issue-78721.stderr | 31 -------------- 20 files changed, 8 insertions(+), 341 deletions(-) delete mode 100644 src/test/ui/impl-trait/binding-without-value.rs delete mode 100644 src/test/ui/impl-trait/binding-without-value.stderr delete mode 100644 src/test/ui/impl-trait/bindings-opaque.rs delete mode 100644 src/test/ui/impl-trait/bindings-opaque.stderr delete mode 100644 src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.rs delete mode 100644 src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.stderr delete mode 100644 src/test/ui/impl-trait/impl-trait-in-bindings.rs delete mode 100644 src/test/ui/impl-trait/impl-trait-in-bindings.stderr delete mode 100644 src/test/ui/impl-trait/issue-57200.rs delete mode 100644 src/test/ui/impl-trait/issue-57200.stderr delete mode 100644 src/test/ui/impl-trait/issue-57201.rs delete mode 100644 src/test/ui/impl-trait/issue-57201.stderr delete mode 100644 src/test/ui/impl-trait/issue-60473.rs delete mode 100644 src/test/ui/impl-trait/issue-60473.stderr delete mode 100644 src/test/ui/impl-trait/issue-67166.rs delete mode 100644 src/test/ui/impl-trait/issue-67166.stderr delete mode 100644 src/test/ui/impl-trait/issue-69840.rs delete mode 100644 src/test/ui/impl-trait/issues/issue-78721.rs delete mode 100644 src/test/ui/impl-trait/issues/issue-78721.stderr (limited to 'src/test/ui/impl-trait') diff --git a/src/test/ui/impl-trait/binding-without-value.rs b/src/test/ui/impl-trait/binding-without-value.rs deleted file mode 100644 index 6a97f28ff55..00000000000 --- a/src/test/ui/impl-trait/binding-without-value.rs +++ /dev/null @@ -1,9 +0,0 @@ -#![allow(incomplete_features)] -#![feature(impl_trait_in_bindings)] - -fn foo() { - let _ : impl Copy; - //~^ ERROR cannot resolve opaque type -} - -fn main() {} diff --git a/src/test/ui/impl-trait/binding-without-value.stderr b/src/test/ui/impl-trait/binding-without-value.stderr deleted file mode 100644 index 0d2faeaf85d..00000000000 --- a/src/test/ui/impl-trait/binding-without-value.stderr +++ /dev/null @@ -1,16 +0,0 @@ -error[E0720]: cannot resolve opaque type - --> $DIR/binding-without-value.rs:5:13 - | -LL | let _ : impl Copy; - | - ^^^^^^^^^ cannot resolve opaque type - | | - | this binding might not have a concrete type - | -help: set the binding to a value for a concrete type to be resolved - | -LL | let _ : impl Copy = /* value */; - | ^^^^^^^^^^^^^ - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0720`. diff --git a/src/test/ui/impl-trait/bindings-opaque.rs b/src/test/ui/impl-trait/bindings-opaque.rs deleted file mode 100644 index d1f42be077d..00000000000 --- a/src/test/ui/impl-trait/bindings-opaque.rs +++ /dev/null @@ -1,17 +0,0 @@ -#![feature(impl_trait_in_bindings)] -//~^ WARN the feature `impl_trait_in_bindings` is incomplete - -const FOO: impl Copy = 42; - -static BAR: impl Copy = 42; - -fn main() { - let foo: impl Copy = 42; - - let _ = FOO.count_ones(); -//~^ ERROR no method - let _ = BAR.count_ones(); -//~^ ERROR no method - let _ = foo.count_ones(); -//~^ ERROR no method -} diff --git a/src/test/ui/impl-trait/bindings-opaque.stderr b/src/test/ui/impl-trait/bindings-opaque.stderr deleted file mode 100644 index 170bd461234..00000000000 --- a/src/test/ui/impl-trait/bindings-opaque.stderr +++ /dev/null @@ -1,30 +0,0 @@ -warning: the feature `impl_trait_in_bindings` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/bindings-opaque.rs:1:12 - | -LL | #![feature(impl_trait_in_bindings)] - | ^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63065 for more information - -error[E0599]: no method named `count_ones` found for opaque type `impl Copy` in the current scope - --> $DIR/bindings-opaque.rs:11:17 - | -LL | let _ = FOO.count_ones(); - | ^^^^^^^^^^ method not found in `impl Copy` - -error[E0599]: no method named `count_ones` found for opaque type `impl Copy` in the current scope - --> $DIR/bindings-opaque.rs:13:17 - | -LL | let _ = BAR.count_ones(); - | ^^^^^^^^^^ method not found in `impl Copy` - -error[E0599]: no method named `count_ones` found for opaque type `impl Copy` in the current scope - --> $DIR/bindings-opaque.rs:15:17 - | -LL | let _ = foo.count_ones(); - | ^^^^^^^^^^ method not found in `impl Copy` - -error: aborting due to 3 previous errors; 1 warning emitted - -For more information about this error, try `rustc --explain E0599`. diff --git a/src/test/ui/impl-trait/bound-normalization-pass.rs b/src/test/ui/impl-trait/bound-normalization-pass.rs index 6a01753b4c2..5144f05681b 100644 --- a/src/test/ui/impl-trait/bound-normalization-pass.rs +++ b/src/test/ui/impl-trait/bound-normalization-pass.rs @@ -14,7 +14,9 @@ struct Foo(T); -trait FooLike { type Output; } +trait FooLike { + type Output; +} impl FooLike for Foo { type Output = T; @@ -28,7 +30,7 @@ mod impl_trait { } /// `T::Assoc` should be normalized to `()` here. - fn foo_pass>() -> impl FooLike { + fn foo_pass>() -> impl FooLike { Foo(()) } } @@ -45,40 +47,20 @@ mod lifetimes { /// Like above. /// /// FIXME(#51525) -- the shorter notation `T::Assoc` winds up referencing `'static` here - fn foo2_pass<'a, T: Trait<'a, Assoc=()> + 'a>( - ) -> impl FooLike>::Assoc> + 'a { + fn foo2_pass<'a, T: Trait<'a, Assoc = ()> + 'a>() + -> impl FooLike>::Assoc> + 'a { Foo(()) } /// Normalization to type containing bound region. /// /// FIXME(#51525) -- the shorter notation `T::Assoc` winds up referencing `'static` here - fn foo2_pass2<'a, T: Trait<'a, Assoc=&'a ()> + 'a>( - ) -> impl FooLike>::Assoc> + 'a { + fn foo2_pass2<'a, T: Trait<'a, Assoc = &'a ()> + 'a>() + -> impl FooLike>::Assoc> + 'a { Foo(&()) } } -// Reduction using `impl Trait` in bindings - -mod impl_trait_in_bindings { - struct Foo; - - trait FooLike { type Output; } - - impl FooLike for Foo { - type Output = u32; - } - - trait Trait { - type Assoc; - } - - fn foo>() { - let _: impl FooLike = Foo; - } -} - // The same applied to `type Foo = impl Bar`s mod opaque_types { diff --git a/src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.rs b/src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.rs deleted file mode 100644 index fd8fe5f48df..00000000000 --- a/src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.rs +++ /dev/null @@ -1,8 +0,0 @@ -// check-pass - -#![feature(impl_trait_in_bindings)] -//~^ WARN the feature `impl_trait_in_bindings` is incomplete - -const _: impl Fn() = ||(); - -fn main() {} diff --git a/src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.stderr b/src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.stderr deleted file mode 100644 index 715671c8add..00000000000 --- a/src/test/ui/impl-trait/impl-trait-in-bindings-issue-73003.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `impl_trait_in_bindings` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/impl-trait-in-bindings-issue-73003.rs:3:12 - | -LL | #![feature(impl_trait_in_bindings)] - | ^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63065 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/impl-trait-in-bindings.rs b/src/test/ui/impl-trait/impl-trait-in-bindings.rs deleted file mode 100644 index c7fae45d5ca..00000000000 --- a/src/test/ui/impl-trait/impl-trait-in-bindings.rs +++ /dev/null @@ -1,49 +0,0 @@ -// run-pass - -#![feature(impl_trait_in_bindings)] -//~^ WARN the feature `impl_trait_in_bindings` is incomplete - -use std::fmt::Debug; - -const FOO: impl Debug + Clone + PartialEq = 42; - -static BAR: impl Debug + Clone + PartialEq = 42; - -fn a(x: T) { - let y: impl Clone = x; - let _ = y.clone(); -} - -fn b(x: T) { - let f = move || { - let y: impl Clone = x; - let _ = y.clone(); - }; - f(); -} - -trait Foo { - fn a(x: T) { - let y: impl Clone = x; - let _ = y.clone(); - } -} - -impl Foo for i32 { - fn a(x: T) { - let y: impl Clone = x; - let _ = y.clone(); - } -} - -fn main() { - let foo: impl Debug + Clone + PartialEq = 42; - - assert_eq!(FOO.clone(), 42); - assert_eq!(BAR.clone(), 42); - assert_eq!(foo.clone(), 42); - - a(42); - b(42); - i32::a(42); -} diff --git a/src/test/ui/impl-trait/impl-trait-in-bindings.stderr b/src/test/ui/impl-trait/impl-trait-in-bindings.stderr deleted file mode 100644 index bf739d4722f..00000000000 --- a/src/test/ui/impl-trait/impl-trait-in-bindings.stderr +++ /dev/null @@ -1,11 +0,0 @@ -warning: the feature `impl_trait_in_bindings` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/impl-trait-in-bindings.rs:3:12 - | -LL | #![feature(impl_trait_in_bindings)] - | ^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63065 for more information - -warning: 1 warning emitted - diff --git a/src/test/ui/impl-trait/issue-57200.rs b/src/test/ui/impl-trait/issue-57200.rs deleted file mode 100644 index e0c71d1ac9a..00000000000 --- a/src/test/ui/impl-trait/issue-57200.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Regression test for #57200 -// FIXME: The error is temporary hack, we'll revisit here at some point. - -#![feature(impl_trait_in_bindings)] -#![allow(incomplete_features)] - -fn bug<'a, 'b, T>() -where - 'a: 'b, -{ - let f: impl Fn(&'a T) -> &'b T = |x| x; - //~^ ERROR: lifetimes in impl Trait types in bindings are not currently supported -} - -fn main() {} diff --git a/src/test/ui/impl-trait/issue-57200.stderr b/src/test/ui/impl-trait/issue-57200.stderr deleted file mode 100644 index b44f332d58c..00000000000 --- a/src/test/ui/impl-trait/issue-57200.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: lifetimes in impl Trait types in bindings are not currently supported - --> $DIR/issue-57200.rs:11:12 - | -LL | let f: impl Fn(&'a T) -> &'b T = |x| x; - | ^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/impl-trait/issue-57201.rs b/src/test/ui/impl-trait/issue-57201.rs deleted file mode 100644 index c1a98d8897b..00000000000 --- a/src/test/ui/impl-trait/issue-57201.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Regression test for #57201 -// FIXME: The error is temporary hack, we'll revisit here at some point. - -#![feature(impl_trait_in_bindings)] -#![allow(incomplete_features)] - -fn bug<'a, 'b, T>() -where - 'a: 'b, -{ - let f: &impl Fn(&'a T) -> &'b T = &|x| x; - //~^ ERROR: lifetimes in impl Trait types in bindings are not currently supported -} - -fn main() {} diff --git a/src/test/ui/impl-trait/issue-57201.stderr b/src/test/ui/impl-trait/issue-57201.stderr deleted file mode 100644 index 462b17bf45e..00000000000 --- a/src/test/ui/impl-trait/issue-57201.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: lifetimes in impl Trait types in bindings are not currently supported - --> $DIR/issue-57201.rs:11:13 - | -LL | let f: &impl Fn(&'a T) -> &'b T = &|x| x; - | ^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/impl-trait/issue-60473.rs b/src/test/ui/impl-trait/issue-60473.rs deleted file mode 100644 index 2ef86f03d34..00000000000 --- a/src/test/ui/impl-trait/issue-60473.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Regression test for #60473 - -#![feature(impl_trait_in_bindings)] -#![allow(incomplete_features)] - -struct A<'a>(&'a ()); - -trait Trait {} - -impl Trait for () {} - -fn main() { - let x: impl Trait = (); - //~^ ERROR: missing lifetime specifier -} diff --git a/src/test/ui/impl-trait/issue-60473.stderr b/src/test/ui/impl-trait/issue-60473.stderr deleted file mode 100644 index 367b5db5d2d..00000000000 --- a/src/test/ui/impl-trait/issue-60473.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error[E0106]: missing lifetime specifier - --> $DIR/issue-60473.rs:13:23 - | -LL | let x: impl Trait = (); - | ^ expected named lifetime parameter - | -help: consider introducing a named lifetime parameter - | -LL | fn main<'a>() { -LL | let x: impl Trait> = (); - | - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0106`. diff --git a/src/test/ui/impl-trait/issue-67166.rs b/src/test/ui/impl-trait/issue-67166.rs deleted file mode 100644 index efa67558bd7..00000000000 --- a/src/test/ui/impl-trait/issue-67166.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Regression test for #67166 - -#![feature(impl_trait_in_bindings)] -#![allow(incomplete_features)] - -pub fn run() { - let _foo: Box = Box::new(()); - //~^ ERROR: missing lifetime specifier -} - -fn main() {} diff --git a/src/test/ui/impl-trait/issue-67166.stderr b/src/test/ui/impl-trait/issue-67166.stderr deleted file mode 100644 index 14c78684e3e..00000000000 --- a/src/test/ui/impl-trait/issue-67166.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error[E0106]: missing lifetime specifier - --> $DIR/issue-67166.rs:7:31 - | -LL | let _foo: Box = Box::new(()); - | ^^ expected named lifetime parameter - | -help: consider introducing a named lifetime parameter - | -LL | pub fn run<'a>() { -LL | let _foo: Box = Box::new(()); - | - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0106`. diff --git a/src/test/ui/impl-trait/issue-69840.rs b/src/test/ui/impl-trait/issue-69840.rs deleted file mode 100644 index b270f88b688..00000000000 --- a/src/test/ui/impl-trait/issue-69840.rs +++ /dev/null @@ -1,16 +0,0 @@ -// check-pass - -#![feature(impl_trait_in_bindings)] -#![allow(incomplete_features)] - -struct A<'a>(&'a ()); - -trait Trait {} - -impl Trait for () {} - -pub fn foo<'a>() { - let _x: impl Trait> = (); -} - -fn main() {} diff --git a/src/test/ui/impl-trait/issues/issue-78721.rs b/src/test/ui/impl-trait/issues/issue-78721.rs deleted file mode 100644 index f7dbef9e3ff..00000000000 --- a/src/test/ui/impl-trait/issues/issue-78721.rs +++ /dev/null @@ -1,15 +0,0 @@ -// edition:2018 - -#![feature(impl_trait_in_bindings)] -//~^ WARN the feature `impl_trait_in_bindings` is incomplete - -struct Bug { - V1: [(); { - let f: impl core::future::Future = async { 1 }; - //~^ ERROR `async` blocks are not allowed in constants - //~| ERROR destructors cannot be evaluated at compile-time - 1 - }], -} - -fn main() {} diff --git a/src/test/ui/impl-trait/issues/issue-78721.stderr b/src/test/ui/impl-trait/issues/issue-78721.stderr deleted file mode 100644 index d5712dd9200..00000000000 --- a/src/test/ui/impl-trait/issues/issue-78721.stderr +++ /dev/null @@ -1,31 +0,0 @@ -warning: the feature `impl_trait_in_bindings` is incomplete and may not be safe to use and/or cause compiler crashes - --> $DIR/issue-78721.rs:3:12 - | -LL | #![feature(impl_trait_in_bindings)] - | ^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(incomplete_features)]` on by default - = note: see issue #63065 for more information - -error[E0658]: `async` blocks are not allowed in constants - --> $DIR/issue-78721.rs:8:57 - | -LL | let f: impl core::future::Future = async { 1 }; - | ^^^^^^^^^^^ - | - = note: see issue #85368 for more information - = help: add `#![feature(const_async_blocks)]` to the crate attributes to enable - -error[E0493]: destructors cannot be evaluated at compile-time - --> $DIR/issue-78721.rs:8:13 - | -LL | let f: impl core::future::Future = async { 1 }; - | ^ constants cannot evaluate destructors -... -LL | }], - | - value is dropped here - -error: aborting due to 2 previous errors; 1 warning emitted - -Some errors have detailed explanations: E0493, E0658. -For more information about an error, try `rustc --explain E0493`. -- cgit 1.4.1-3-g733a5