[INFO] fetching crate bronze_gc 0.2.1...
[INFO] checking bronze_gc-0.2.1 against try#264a7c4a1c917c83d13895a31231f9d93c7b67e1 for pr-132289
[INFO] extracting crate bronze_gc 0.2.1 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate bronze_gc 0.2.1 on toolchain 264a7c4a1c917c83d13895a31231f9d93c7b67e1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bronze_gc 0.2.1
[INFO] finished tweaking crates.io crate bronze_gc 0.2.1
[INFO] tweaked toml for crates.io crate bronze_gc 0.2.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 72 packages to latest compatible versions
[INFO] [stderr]       Adding bindgen v0.56.0 (available: v0.70.1)
[INFO] [stderr]       Adding serial_test v0.5.1 (available: v3.1.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 83aa391eb20291da90b5b1c8358d873f7698f0ffe49d91752dd577f8be601415
[INFO] running `Command { std: "docker" "start" "-a" "83aa391eb20291da90b5b1c8358d873f7698f0ffe49d91752dd577f8be601415", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "83aa391eb20291da90b5b1c8358d873f7698f0ffe49d91752dd577f8be601415", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83aa391eb20291da90b5b1c8358d873f7698f0ffe49d91752dd577f8be601415", kill_on_drop: false }`
[INFO] [stdout] 83aa391eb20291da90b5b1c8358d873f7698f0ffe49d91752dd577f8be601415
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d9863a66295cf378dcd910113352f68fc06d772a272dce57e9a4b6f1b7134d8a
[INFO] running `Command { std: "docker" "start" "-a" "d9863a66295cf378dcd910113352f68fc06d772a272dce57e9a4b6f1b7134d8a", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling bindgen v0.56.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling which v3.1.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libloading v0.8.5
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling shlex v0.1.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]     Checking multiset v0.0.5
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking object v0.36.5
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling cexpr v0.4.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling serial_test_derive v0.5.1
[INFO] [stderr]    Compiling bronze_derive v0.1.0
[INFO] [stderr]     Checking backtrace v0.3.74
[INFO] [stderr]     Checking serial_test v0.5.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling bronze_gc v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/lib.rs:402:44
[INFO] [stdout]     |
[INFO] [stdout] 402 |     pub(crate) fn as_box<'a> (&'a self) -> &GcBox<T> {
[INFO] [stdout]     |                          --                ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          lifetime `'a` declared here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/lib.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     pub(crate) fn as_mut_box<'a> (&'a mut self) -> &mut GcBox<T> {
[INFO] [stdout]     |                              --                    ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              lifetime `'a` declared here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/lib.rs:402:44
[INFO] [stdout]     |
[INFO] [stdout] 402 |     pub(crate) fn as_box<'a> (&'a self) -> &GcBox<T> {
[INFO] [stdout]     |                          --                ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          lifetime `'a` declared here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/lib.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     pub(crate) fn as_mut_box<'a> (&'a mut self) -> &mut GcBox<T> {
[INFO] [stdout]     |                              --                    ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              lifetime `'a` declared here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USED_SPACE_RATIO` is never used
[INFO] [stdout]   --> src/lib.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const USED_SPACE_RATIO: f64 = 0.7;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USED_SPACE_RATIO` is never used
[INFO] [stdout]   --> src/lib.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const USED_SPACE_RATIO: f64 = 0.7;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `threshold` is never read
[INFO] [stdout]   --> src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct GcState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 47 |     bytes_allocated: usize,
[INFO] [stdout] 48 |     threshold: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `threshold` is never read
[INFO] [stdout]   --> src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct GcState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 47 |     bytes_allocated: usize,
[INFO] [stdout] 48 |     threshold: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vtable` and `marked` are never read
[INFO] [stdout]   --> src/lib.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct GcBoxHeader {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 76 |     next: Option<NonNull<GcBox<dyn GcTrace>>>,
[INFO] [stdout] 77 |     vtable: *mut Vtable,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     marked: Cell<bool>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> src/lib.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct GcNullableBox<T: GcTrace + ?Sized + 'static> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 111 |     header: GcBoxHeader,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vtable` and `marked` are never read
[INFO] [stdout]   --> src/lib.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct GcBoxHeader {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 76 |     next: Option<NonNull<GcBox<dyn GcTrace>>>,
[INFO] [stdout] 77 |     vtable: *mut Vtable,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     marked: Cell<bool>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> src/lib.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct GcNullableBox<T: GcTrace + ?Sized + 'static> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 111 |     header: GcBoxHeader,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `trace_inner`, `erased`, and `dyn_data` are never used
[INFO] [stdout]    --> src/lib.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<T: ?Sized> GcBox<T> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 156 |     pub(crate) unsafe fn trace_inner(&self) {
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn erased(&self) -> &GcBox<Data> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn dyn_data(&self) -> &dyn GcTrace {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `borrow_flag` and `as_mut_box` are never used
[INFO] [stdout]    --> src/lib.rs:395:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl<T: GcTrace + ?Sized> GcRef<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn borrow_flag<'a>(&'a self) -> &'a Cell<BorrowFlag> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub(crate) fn as_mut_box<'a> (&'a mut self) -> &mut GcBox<T> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `trace_inner`, `erased`, and `dyn_data` are never used
[INFO] [stdout]    --> src/lib.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<T: ?Sized> GcBox<T> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 156 |     pub(crate) unsafe fn trace_inner(&self) {
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn erased(&self) -> &GcBox<Data> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn dyn_data(&self) -> &dyn GcTrace {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NullableBoxRef` is never constructed
[INFO] [stdout]    --> src/lib.rs:569:5
[INFO] [stdout]     |
[INFO] [stdout] 567 | enum GcMaybeNullableRoot {
[INFO] [stdout]     |      ------------------- variant in this enum
[INFO] [stdout] 568 |     BoxRef(NonNull<GcBox<dyn GcTrace>>),
[INFO] [stdout] 569 |     NullableBoxRef(NonNull<GcNullableBox<dyn GcTrace>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GcMaybeNullableRoot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `borrow_flag` and `as_mut_box` are never used
[INFO] [stdout]    --> src/lib.rs:395:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl<T: GcTrace + ?Sized> GcRef<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn borrow_flag<'a>(&'a self) -> &'a Cell<BorrowFlag> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub(crate) fn as_mut_box<'a> (&'a mut self) -> &mut GcBox<T> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NullableBoxRef` is never constructed
[INFO] [stdout]    --> src/lib.rs:569:5
[INFO] [stdout]     |
[INFO] [stdout] 567 | enum GcMaybeNullableRoot {
[INFO] [stdout]     |      ------------------- variant in this enum
[INFO] [stdout] 568 |     BoxRef(NonNull<GcBox<dyn GcTrace>>),
[INFO] [stdout] 569 |     NullableBoxRef(NonNull<GcNullableBox<dyn GcTrace>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GcMaybeNullableRoot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |         self.obj_ref == other.obj_ref
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 449 |         std::ptr::addr_eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         ++++++++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 449 |         std::ptr::eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         +++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |         self.obj_ref == other.obj_ref
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 449 |         std::ptr::addr_eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         ++++++++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 449 |         std::ptr::eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         +++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:547:9
[INFO] [stdout]     |
[INFO] [stdout] 547 |         self.obj_ref == other.obj_ref
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 547 |         std::ptr::addr_eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         ++++++++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 547 |         std::ptr::eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         +++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:547:9
[INFO] [stdout]     |
[INFO] [stdout] 547 |         self.obj_ref == other.obj_ref
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 547 |         std::ptr::addr_eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         ++++++++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 547 |         std::ptr::eq(self.obj_ref.as_ptr(), other.obj_ref.as_ptr())
[INFO] [stdout]     |         +++++++++++++            ~~~~~~~~~~              ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:576:54
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 GcMaybeNullableRoot::BoxRef(ptr2) => ptr1 == ptr2,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 GcMaybeNullableRoot::BoxRef(ptr2) => std::ptr::addr_eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                      +++++++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 GcMaybeNullableRoot::BoxRef(ptr2) => std::ptr::eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                      ++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:576:54
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 GcMaybeNullableRoot::BoxRef(ptr2) => ptr1 == ptr2,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 GcMaybeNullableRoot::BoxRef(ptr2) => std::ptr::addr_eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                      +++++++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 GcMaybeNullableRoot::BoxRef(ptr2) => std::ptr::eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                      ++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:580:62
[INFO] [stdout]     |
[INFO] [stdout] 580 |                 GcMaybeNullableRoot::NullableBoxRef(ptr2) => ptr1 == ptr2,
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 580 |                 GcMaybeNullableRoot::NullableBoxRef(ptr2) => std::ptr::addr_eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                              +++++++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 580 |                 GcMaybeNullableRoot::NullableBoxRef(ptr2) => std::ptr::eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                              ++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/lib.rs:580:62
[INFO] [stdout]     |
[INFO] [stdout] 580 |                 GcMaybeNullableRoot::NullableBoxRef(ptr2) => ptr1 == ptr2,
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 580 |                 GcMaybeNullableRoot::NullableBoxRef(ptr2) => std::ptr::addr_eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                              +++++++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 580 |                 GcMaybeNullableRoot::NullableBoxRef(ptr2) => std::ptr::eq(*ptr1.as_ptr(), *ptr2.as_ptr()),
[INFO] [stdout]     |                                                              ++++++++++++++    ~~~~~~~~~~~~    ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `backtrace::Backtrace`
[INFO] [stdout]  --> tests/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use backtrace::Backtrace;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BorrowMut`
[INFO] [stdout]  --> tests/tests.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> tests/tests.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `bronze_gc::GcRef<u32>` cannot be dereferenced
[INFO] [stdout]   --> tests/dynamic_borrowing.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     *x2 = 43;
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `bronze_gc::GcRef<u32>` cannot be dereferenced
[INFO] [stdout]   --> tests/dynamic_borrowing.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     assert!(*x2 == 43);
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `bronze_gc::GcRef<IntContainer>`
[INFO] [stdout]   --> tests/dynamic_borrowing.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |   c.x = x;
[INFO] [stdout]    |     ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `bronze_gc::GcRef<i32>` cannot be dereferenced
[INFO] [stdout]    --> tests/dynamic_borrowing.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let r: &i32 = &*c1;
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]    --> tests/dynamic_borrowing.rs:116:51
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn take_two_borrow_mut_ics(r1: &mut IntContainer, r2: &mut IntContainer) {
[INFO] [stdout]     |                                                   ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0609, E0614.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0609`.
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `bronze_gc::GcRef<u32>` cannot be dereferenced
[INFO] [stdout]   --> tests/dynamic_borrowing.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     *x2 = 43;
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `bronze_gc::GcRef<u32>` cannot be dereferenced
[INFO] [stdout]   --> tests/dynamic_borrowing.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     assert!(*x2 == 43);
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `bronze_gc::GcRef<IntContainer>`
[INFO] [stdout]   --> tests/dynamic_borrowing.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |   c.x = x;
[INFO] [stdout]    |     ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `bronze_gc::GcRef<i32>` cannot be dereferenced
[INFO] [stdout]    --> tests/dynamic_borrowing.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let r: &i32 = &*c1;
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bronze_gc` (test "dynamic_borrowing") due to 4 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]  --> tests/tests.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]    --> tests/dynamic_borrowing.rs:116:51
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn take_two_borrow_mut_ics(r1: &mut IntContainer, r2: &mut IntContainer) {
[INFO] [stdout]     |                                                   ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `refs`
[INFO] [stdout]    --> tests/tests.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let refs = TenRefs{
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_refs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0609, E0614.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0609`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bronze_gc` (test "tests") due to 4 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d9863a66295cf378dcd910113352f68fc06d772a272dce57e9a4b6f1b7134d8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9863a66295cf378dcd910113352f68fc06d772a272dce57e9a4b6f1b7134d8a", kill_on_drop: false }`
[INFO] [stdout] d9863a66295cf378dcd910113352f68fc06d772a272dce57e9a4b6f1b7134d8a
