[INFO] fetching crate fat_type 0.3.0...
[INFO] testing fat_type-0.3.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate fat_type 0.3.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate fat_type 0.3.0
[INFO] finished tweaking crates.io crate fat_type 0.3.0
[INFO] tweaked toml for crates.io crate fat_type 0.3.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate fat_type 0.3.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ff9da31fefd083f9ab223b0759042f1f9408d613efcda60f51300cc105fa3565
[INFO] running `Command { std: "docker" "start" "-a" "ff9da31fefd083f9ab223b0759042f1f9408d613efcda60f51300cc105fa3565", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff9da31fefd083f9ab223b0759042f1f9408d613efcda60f51300cc105fa3565", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff9da31fefd083f9ab223b0759042f1f9408d613efcda60f51300cc105fa3565", kill_on_drop: false }`
[INFO] [stdout] ff9da31fefd083f9ab223b0759042f1f9408d613efcda60f51300cc105fa3565
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fe37e6fdef6c621f4da228ee9d99fcbd742063aea446f71654888fe74cbfe7d6
[INFO] running `Command { std: "docker" "start" "-a" "fe37e6fdef6c621f4da228ee9d99fcbd742063aea446f71654888fe74cbfe7d6", kill_on_drop: false }`
[INFO] [stderr]    Compiling fat_type v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl<T: ?Sized> Fat<T> {
[INFO] [stdout]     |                 ^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:400:5
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn as_ref(&self) -> &Fat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 | impl<T: ?Sized, U: ?Sized> AsRef<Fat<T>> for Fat<T, U> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 406 |     fn as_mut(&mut self) -> &mut Fat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:405:28
[INFO] [stdout]     |
[INFO] [stdout] 405 | impl<T: ?Sized, U: ?Sized> AsMut<Fat<T>> for Fat<T, U> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:424:5
[INFO] [stdout]     |
[INFO] [stdout] 424 |     fn borrow(&self) -> &Fat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:423:20
[INFO] [stdout]     |
[INFO] [stdout] 423 | impl<T: ?Sized, U> Borrow<Fat<T>> for Fat<T, U> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn borrow_mut(&mut self) -> &mut Fat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:441:20
[INFO] [stdout]     |
[INFO] [stdout] 441 | impl<T: ?Sized, U> BorrowMut<Fat<T>> for Fat<T, U> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:257:63
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub unsafe fn container_of(referent: *const T) -> NonNull<Self> {
[INFO] [stdout]     |                                                               ^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:274:38
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn erase_ref(fat: &Self) -> &Fat<T> {
[INFO] [stdout]     |                                      ^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:285:46
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn erase_mut(fat: &mut Self) -> &mut Fat<T> {
[INFO] [stdout]     |                                              ^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:400:26
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn as_ref(&self) -> &Fat<T> {
[INFO] [stdout]     |                          ^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:406:34
[INFO] [stdout]     |
[INFO] [stdout] 406 |     fn as_mut(&mut self) -> &mut Fat<T> {
[INFO] [stdout]     |                                  ^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:424:26
[INFO] [stdout]     |
[INFO] [stdout] 424 |     fn borrow(&self) -> &Fat<T> {
[INFO] [stdout]     |                          ^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:442:38
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn borrow_mut(&mut self) -> &mut Fat<T> {
[INFO] [stdout]     |                                      ^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:259:31
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let offset = unsafe { Self::layout_for(&ptr::metadata(referent)).1 };
[INFO] [stdout]     |                               ^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `layout_for` exists for struct `Fat<T>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:259:37
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     | --------------------------------------------- function or associated item `layout_for` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 259 |         let offset = unsafe { Self::layout_for(&ptr::metadata(referent)).1 };
[INFO] [stdout]     |                                     ^^^^^^^^^^ function or associated item cannot be called on `Fat<T>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `Erased: MetaSized` was not satisfied
[INFO] [stdout]    --> src/lib.rs:267:17
[INFO] [stdout]     |
[INFO] [stdout] 267 | impl<T: ?Sized, U: ?Sized> Fat<T, U> {
[INFO] [stdout]     |                 ^          ---------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:263:80
[INFO] [stdout]     |
[INFO] [stdout] 263 |         unsafe { NonNull::new_unchecked((referent as *const u8).sub(offset) as *mut Self) }
[INFO] [stdout]     |                                                                                ^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:263:18
[INFO] [stdout]     |
[INFO] [stdout] 263 |         unsafe { NonNull::new_unchecked((referent as *const u8).sub(offset) as *mut Self) }
[INFO] [stdout]     |                  ^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:263:18
[INFO] [stdout]     |
[INFO] [stdout] 263 |         unsafe { NonNull::new_unchecked((referent as *const u8).sub(offset) as *mut Self) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:276:43
[INFO] [stdout]     |
[INFO] [stdout] 276 |         unsafe { &*(fat as *const Self as *const Fat<T>) }
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:287:45
[INFO] [stdout]     |
[INFO] [stdout] 287 |         unsafe { &mut *(fat as *mut Self as *mut Fat<T>) }
[INFO] [stdout]     |                                             ^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:385:51
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let layout_ptr = ptr::from_raw_parts::<T>(ptr::null(), *metadata);
[INFO] [stdout]     |                          ------------------------ ^^^^^^^^^ cannot infer type of the type parameter `T` declared on the function `null`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Thin`
[INFO] [stdout] note: required by a bound in `core::ptr::from_raw_parts`
[INFO] [stdout]    --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ptr/metadata.rs:115:0
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let layout_ptr = ptr::from_raw_parts::<T>(ptr::null::<T>(), *metadata);
[INFO] [stdout]     |                                                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 401 |         Self::erase_ref(self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |         Self::erase_mut(self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |         Self::erase_ref(self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `Erased` cannot be known
[INFO] [stdout]    --> src/lib.rs:443:9
[INFO] [stdout]     |
[INFO] [stdout] 443 |         Self::erase_mut(self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ doesn't have a known size
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `MetaSized` is not implemented for `Erased`
[INFO] [stdout] note: required by a bound in `Fat`
[INFO] [stdout]    --> src/lib.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct Fat<T: ?Sized, U: ?Sized = Erased> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ required by this bound in `Fat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0283, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fat_type` (lib) due to 29 previous errors
[INFO] running `Command { std: "docker" "inspect" "fe37e6fdef6c621f4da228ee9d99fcbd742063aea446f71654888fe74cbfe7d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe37e6fdef6c621f4da228ee9d99fcbd742063aea446f71654888fe74cbfe7d6", kill_on_drop: false }`
[INFO] [stdout] fe37e6fdef6c621f4da228ee9d99fcbd742063aea446f71654888fe74cbfe7d6
