error[E0391]: cycle detected when evaluating type-level constant
  --> $DIR/const-size_of-cycle.rs:4:17
   |
LL |     bytes: [u8; std::mem::size_of::<Foo>()]
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: ...which requires const-evaluating + checking `Foo::bytes::{constant#0}`...
  --> $DIR/const-size_of-cycle.rs:4:17
   |
LL |     bytes: [u8; std::mem::size_of::<Foo>()]
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
note: ...which requires const-evaluating + checking `Foo::bytes::{constant#0}`...
  --> $DIR/const-size_of-cycle.rs:4:17
   |
LL |     bytes: [u8; std::mem::size_of::<Foo>()]
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: ...which requires computing layout of `Foo`...
   = note: ...which requires computing layout of `[u8; std::mem::size_of::<Foo>()]`...
   = note: ...which requires normalizing `[u8; std::mem::size_of::<Foo>()]`...
   = note: ...which again requires evaluating type-level constant, completing the cycle
note: cycle used when checking that `Foo` is well-formed
  --> $DIR/const-size_of-cycle.rs:3:1
   |
LL | struct Foo {
   | ^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0391`.
