Rollup merge of #134271 - adetaylor:feature-gate-test, r=wesleywiser
Arbitrary self types v2: better feature gate test Slight improvement to the test for the `arbitrary_self_types_pointers` feature gate, to ensure it's independent of the `arbitrary_self_types` gate. Part of #44874 r? `@wesleywiser`
This commit is contained in:
commit
155dede638
3 changed files with 42 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
||||||
error[E0658]: `*const Bar` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
error[E0658]: `*const Bar` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
||||||
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:8:18
|
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:11:18
|
||||||
|
|
|
|
||||||
LL | fn foo(self: *const Self) {}
|
LL | fn foo(self: *const Self) {}
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -10,7 +10,7 @@ LL | fn foo(self: *const Self) {}
|
||||||
= help: consider changing to `self`, `&self`, `&mut self`, or a type implementing `Receiver` such as `self: Box<Self>`, `self: Rc<Self>`, or `self: Arc<Self>`
|
= help: consider changing to `self`, `&self`, `&mut self`, or a type implementing `Receiver` such as `self: Box<Self>`, `self: Rc<Self>`, or `self: Arc<Self>`
|
||||||
|
|
||||||
error[E0658]: `*mut Bar` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
error[E0658]: `*mut Bar` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
||||||
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:12:18
|
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:15:18
|
||||||
|
|
|
|
||||||
LL | fn bar(self: *mut Self) {}
|
LL | fn bar(self: *mut Self) {}
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
@ -21,7 +21,7 @@ LL | fn bar(self: *mut Self) {}
|
||||||
= help: consider changing to `self`, `&self`, `&mut self`, or a type implementing `Receiver` such as `self: Box<Self>`, `self: Rc<Self>`, or `self: Arc<Self>`
|
= help: consider changing to `self`, `&self`, `&mut self`, or a type implementing `Receiver` such as `self: Box<Self>`, `self: Rc<Self>`, or `self: Arc<Self>`
|
||||||
|
|
||||||
error[E0658]: `*const Self` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
error[E0658]: `*const Self` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
||||||
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:2:18
|
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:5:18
|
||||||
|
|
|
|
||||||
LL | fn foo(self: *const Self);
|
LL | fn foo(self: *const Self);
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
|
@ -0,0 +1,36 @@
|
||||||
|
error[E0658]: `*const Bar` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
||||||
|
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:11:18
|
||||||
|
|
|
||||||
|
LL | fn foo(self: *const Self) {}
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: see issue #44874 <https://github.com/rust-lang/rust/issues/44874> for more information
|
||||||
|
= help: add `#![feature(arbitrary_self_types_pointers)]` to the crate attributes to enable
|
||||||
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||||||
|
= help: consider changing to `self`, `&self`, `&mut self`, or a type implementing `Receiver` such as `self: Box<Self>`, `self: Rc<Self>`, or `self: Arc<Self>`
|
||||||
|
|
||||||
|
error[E0658]: `*mut Bar` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
||||||
|
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:15:18
|
||||||
|
|
|
||||||
|
LL | fn bar(self: *mut Self) {}
|
||||||
|
| ^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: see issue #44874 <https://github.com/rust-lang/rust/issues/44874> for more information
|
||||||
|
= help: add `#![feature(arbitrary_self_types_pointers)]` to the crate attributes to enable
|
||||||
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||||||
|
= help: consider changing to `self`, `&self`, `&mut self`, or a type implementing `Receiver` such as `self: Box<Self>`, `self: Rc<Self>`, or `self: Arc<Self>`
|
||||||
|
|
||||||
|
error[E0658]: `*const Self` cannot be used as the type of `self` without the `arbitrary_self_types_pointers` feature
|
||||||
|
--> $DIR/feature-gate-arbitrary-self-types-pointers.rs:5:18
|
||||||
|
|
|
||||||
|
LL | fn foo(self: *const Self);
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: see issue #44874 <https://github.com/rust-lang/rust/issues/44874> for more information
|
||||||
|
= help: add `#![feature(arbitrary_self_types_pointers)]` to the crate attributes to enable
|
||||||
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||||||
|
= help: consider changing to `self`, `&self`, `&mut self`, or a type implementing `Receiver` such as `self: Box<Self>`, `self: Rc<Self>`, or `self: Arc<Self>`
|
||||||
|
|
||||||
|
error: aborting due to 3 previous errors
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0658`.
|
|
@ -1,3 +1,6 @@
|
||||||
|
//@ revisions: default feature
|
||||||
|
#![cfg_attr(feature, feature(arbitrary_self_types))]
|
||||||
|
|
||||||
trait Foo {
|
trait Foo {
|
||||||
fn foo(self: *const Self); //~ ERROR `*const Self` cannot be used as the type of `self`
|
fn foo(self: *const Self); //~ ERROR `*const Self` cannot be used as the type of `self`
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue