| error: overly complex generic constant |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const blocks are not supported in generic constants |
| | |
| = help: consider moving this anonymous constant into a `const` function |
| = note: this operation may be supported in the future |
| = note: this error originates in the macro `std::mem::offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error[E0392]: type parameter `T` is never used |
| --> $DIR/inside-array-length.rs:13:15 |
| | |
| LL | struct Inline<T> |
| | ^ unused type parameter |
| | |
| = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData` |
| = help: if you intended `T` to be a const parameter, use `const T: /* Type */` instead |
| |
| error: overly complex generic constant |
| --> $DIR/inside-array-length.rs:16:10 |
| | |
| LL | [(); std::mem::offset_of!((T,), 0)]:, |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const blocks are not supported in generic constants |
| | |
| = help: consider moving this anonymous constant into a `const` function |
| = note: this operation may be supported in the future |
| = note: this error originates in the macro `std::mem::offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error[E0391]: cycle detected when evaluating type-level constant |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| note: ...which requires const-evaluating + checking `foo::{constant#0}`... |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires caching mir of `foo::{constant#0}` for CTFE... |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires elaborating drops for `foo::{constant#0}`... |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires borrow-checking `foo::{constant#0}`... |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires normalizing `Binder { value: ConstEvaluatable(UnevaluatedConst { def: DefId(0:7 ~ inside_array_length[07d6]::foo::{constant#0}), args: ['^c_1, T/#1] }), bound_vars: [] }`... |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| = note: ...which again requires evaluating type-level constant, completing the cycle |
| note: cycle used when normalizing `inside_array_length::::foo::{constant#0}` |
| --> $DIR/inside-array-length.rs:9:27 |
| | |
| LL | fn foo<'a, T: 'a>(_: [(); std::mem::offset_of!((T,), 0)]) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information |
| = note: this error originates in the macro `std::mem::offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error[E0277]: the size for values of type `dyn Trait` cannot be known at compilation time |
| --> $DIR/inside-array-length.rs:21:14 |
| | |
| LL | let dst: Inline<dyn Trait>; |
| | ^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time |
| | |
| = help: the trait `Sized` is not implemented for `dyn Trait` |
| note: required by an implicit `Sized` bound in `Inline` |
| --> $DIR/inside-array-length.rs:13:15 |
| | |
| LL | struct Inline<T> |
| | ^ required by the implicit `Sized` requirement on this type parameter in `Inline` |
| help: consider relaxing the implicit `Sized` restriction |
| | |
| LL | struct Inline<T: ?Sized> |
| | ++++++++ |
| |
| error: aborting due to 5 previous errors |
| |
| Some errors have detailed explanations: E0277, E0391, E0392. |
| For more information about an error, try `rustc --explain E0277`. |