47 lines
2.1 KiB
Plaintext
47 lines
2.1 KiB
Plaintext
|
error[E0658]: cannot borrow here, since the borrowed element may contain interior mutability
|
||
|
--> $DIR/arbitrary-self-from-method-substs-ice.rs:13:9
|
||
|
|
|
||
|
LL | self.0
|
||
|
| ^^^^
|
||
|
|
|
||
|
= note: see issue #80384 <https://github.com/rust-lang/rust/issues/80384> for more information
|
||
|
= help: add `#![feature(const_refs_to_cell)]` to the crate attributes to enable
|
||
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||
|
|
||
|
error[E0015]: cannot call non-const fn `<R as Deref>::deref` in constant functions
|
||
|
--> $DIR/arbitrary-self-from-method-substs-ice.rs:13:9
|
||
|
|
|
||
|
LL | self.0
|
||
|
| ^^^^^^
|
||
|
|
|
||
|
= note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
|
||
|
help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
|
||
|
|
|
||
|
LL + #![feature(const_trait_impl)]
|
||
|
|
|
||
|
|
||
|
error[E0493]: destructor of `R` cannot be evaluated at compile-time
|
||
|
--> $DIR/arbitrary-self-from-method-substs-ice.rs:10:43
|
||
|
|
|
||
|
LL | const fn get<R: Deref<Target = Self>>(self: R) -> u32 {
|
||
|
| ^^^^ the destructor for this type cannot be evaluated in constant functions
|
||
|
...
|
||
|
LL | }
|
||
|
| - value is dropped here
|
||
|
|
||
|
error[E0658]: `R` cannot be used as the type of `self` without the `arbitrary_self_types` feature
|
||
|
--> $DIR/arbitrary-self-from-method-substs-ice.rs:10:49
|
||
|
|
|
||
|
LL | const fn get<R: Deref<Target = Self>>(self: R) -> u32 {
|
||
|
| ^
|
||
|
|
|
||
|
= note: see issue #44874 <https://github.com/rust-lang/rust/issues/44874> for more information
|
||
|
= help: add `#![feature(arbitrary_self_types)]` 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`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`)
|
||
|
|
||
|
error: aborting due to 4 previous errors
|
||
|
|
||
|
Some errors have detailed explanations: E0015, E0493, E0658.
|
||
|
For more information about an error, try `rustc --explain E0015`.
|