You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I expected to see this happen: it compiles successfully.
Instead, this happened: it fails to compile with the following error:
error[[E0277]](https://doc.rust-lang.org/stable/error-index.html#E0277): the trait bound `[Test<'a>]: ToOwned` is not satisfied in `Cow<'a, [Test<'a>]>`
--> src/lib.rs:5:11
|
5 | Array(Cow<'a, [Test<'a>]>),
| ^^^^^^^^^^^^^^^^^^^ within `Cow<'a, [Test<'a>]>`, the trait `ToOwned` is not implemented for `[Test<'a>]`
|
= help: the trait `ToOwned` is implemented for `[T]`
= note: required because it appears within the type `Cow<'a, [Test<'a>]>`
= note: no field of an enum variant may have a dynamically sized type
= help: change the field's type to have a statically known size
help: borrowed types always have a statically known size
|
5 | Array(&Cow<'a, [Test<'a>]>),
| +
help: the `Box` type always has a statically known size and allocates its contents in the heap
|
5 | Array(Box<Cow<'a, [Test<'a>]>>),
| ++++ +
error[[E0277]](https://doc.rust-lang.org/stable/error-index.html#E0277): the trait bound `[Test<'a>]: ToOwned` is not satisfied in `Test<'a>`
--> src/lib.rs:3:10
|
3 | #[derive(Clone)]
| ^^^^^ within `Test<'a>`, the trait `ToOwned` is not implemented for `[Test<'a>]`
|
= help: the trait `ToOwned` is implemented for `[T]`
note: required because it appears within the type `Test<'a>`
--> src/lib.rs:4:6
|
4 | enum Test <'a> {
| ^^^^
note: required by a bound in `Clone`
= note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
For more information about this error, try `rustc --explain E0277`.
Meta
As of today's stable version 1.61.1, no versions have ever successfully accepted this code. However I believe there is nothing inherently wrong about it and I have faced this failure for such pattern multiple times already.
Workaround
You can workaround the issue by writing your Cow-like type.
The text was updated successfully, but these errors were encountered:
I tried this code:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=442442eaa00a34e7c38f9d9db3654160
I expected to see this happen: it compiles successfully.
Instead, this happened: it fails to compile with the following error:
Meta
As of today's stable version 1.61.1, no versions have ever successfully accepted this code. However I believe there is nothing inherently wrong about it and I have faced this failure for such pattern multiple times already.
Workaround
You can workaround the issue by writing your
Cow
-like type.The text was updated successfully, but these errors were encountered: