[INFO] crate containerof 0.2.2 is already in cache [INFO] extracting crate containerof 0.2.2 into work/ex/clippy-test-run/sources/stable/reg/containerof/0.2.2 [INFO] extracting crate containerof 0.2.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/containerof/0.2.2 [INFO] validating manifest of containerof-0.2.2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of containerof-0.2.2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing containerof-0.2.2 [INFO] finished frobbing containerof-0.2.2 [INFO] frobbed toml for containerof-0.2.2 written to work/ex/clippy-test-run/sources/stable/reg/containerof/0.2.2/Cargo.toml [INFO] started frobbing containerof-0.2.2 [INFO] finished frobbing containerof-0.2.2 [INFO] frobbed toml for containerof-0.2.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/containerof/0.2.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting containerof-0.2.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/containerof/0.2.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] dd0d727b1627ffc7e19379ad09dea384c1879652d947842a22c4c61098bdc8cd [INFO] running `"docker" "start" "-a" "dd0d727b1627ffc7e19379ad09dea384c1879652d947842a22c4c61098bdc8cd"` [INFO] [stderr] Checking containerof v0.2.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:126:18 [INFO] [stderr] | [INFO] [stderr] 126 | OwnBox { pointer: pointer, marker: marker::PhantomData } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | pointer: pointer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:230:13 [INFO] [stderr] | [INFO] [stderr] 230 | pointer: pointer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:126:18 [INFO] [stderr] | [INFO] [stderr] 126 | OwnBox { pointer: pointer, marker: marker::PhantomData } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | pointer: pointer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:230:13 [INFO] [stderr] | [INFO] [stderr] 230 | pointer: pointer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:104:24 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn get_address(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | / pub unsafe fn as_alias<'a>(&'a self) -> &'a IntrusiveAlias { [INFO] [stderr] 140 | | &self.pointer [INFO] [stderr] 141 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | / fn deref<'a>(&'a self) -> &'a T { [INFO] [stderr] 164 | | unsafe { mem::transmute(self.get_address()) } [INFO] [stderr] 165 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | / fn deref_mut<'a>(&'a mut self) -> &'a mut T { [INFO] [stderr] 169 | | unsafe { mem::transmute(self.get_address()) } [INFO] [stderr] 170 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:206:5 [INFO] [stderr] | [INFO] [stderr] 206 | / fn deref<'b>(&'b self) -> &'b T { [INFO] [stderr] 207 | | unsafe { Intrusive::of_alias(&self.pointer) } [INFO] [stderr] 208 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:238:5 [INFO] [stderr] | [INFO] [stderr] 238 | / fn deref<'b>(&'b self) -> &'b T { [INFO] [stderr] 239 | | unsafe { Intrusive::of_alias(&self.pointer) } [INFO] [stderr] 240 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | / fn deref_mut<'b>(&'b mut self) -> &'b mut T { [INFO] [stderr] 244 | | unsafe { Intrusive::of_alias_mut(&mut self.pointer) } [INFO] [stderr] 245 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:268:5 [INFO] [stderr] | [INFO] [stderr] 268 | unsafe fn as_alias<'a>(&'a self) -> &'a IntrusiveAlias; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | unsafe fn as_alias_mut<'a>(&'a mut self) -> &'a mut IntrusiveAlias; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:290:5 [INFO] [stderr] | [INFO] [stderr] 290 | unsafe fn of_alias<'a>(&'a IntrusiveAlias) -> &'a Self; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | unsafe fn of_alias_mut<'a>(ia: &'a mut IntrusiveAlias) -> &'a mut Self; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:306:5 [INFO] [stderr] | [INFO] [stderr] 306 | fn of_container<'a>(&'a Self::Container) -> BorrowBox<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 310 | fn of_container_mut<'a>(&'a mut Self::Container) -> BorrowBoxMut<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:314:5 [INFO] [stderr] | [INFO] [stderr] 314 | fn as_container<'a>(&'a self) -> &'a Self::Container; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:317:5 [INFO] [stderr] | [INFO] [stderr] 317 | fn as_container_mut<'a>(&'a mut self) -> &'a mut Self::Container; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | unsafe fn of_field<'a>(&'a Self::Field) -> BorrowBox<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:335:5 [INFO] [stderr] | [INFO] [stderr] 335 | unsafe fn of_field_mut<'a>(&'a mut Self::Field) -> BorrowBoxMut<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:339:5 [INFO] [stderr] | [INFO] [stderr] 339 | fn as_field<'a>(&'a self) -> &'a Self::Field; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:343:5 [INFO] [stderr] | [INFO] [stderr] 343 | fn as_field_mut<'a>(&'a mut self) -> &'a mut Self::Field; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:357:5 [INFO] [stderr] | [INFO] [stderr] 357 | / unsafe fn as_alias_mut<'a>(&'a mut self) -> &'a mut IntrusiveAlias { [INFO] [stderr] 358 | | mem::transmute(self.as_alias()) [INFO] [stderr] 359 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/lib.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | mem::transmute(self.as_alias()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.as_alias() as *const IntrusiveAlias as *mut IntrusiveAlias)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:361:5 [INFO] [stderr] | [INFO] [stderr] 361 | / unsafe fn of_alias<'a>(ia: &'a IntrusiveAlias) -> &'a T { [INFO] [stderr] 362 | | mem::transmute(ia as *const _) [INFO] [stderr] 363 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const IntrusiveAlias`) to a reference type (`&'a T`) [INFO] [stderr] --> src/lib.rs:362:9 [INFO] [stderr] | [INFO] [stderr] 362 | mem::transmute(ia as *const _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(ia as *const _ as *const T)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:365:5 [INFO] [stderr] | [INFO] [stderr] 365 | / unsafe fn of_alias_mut<'a>(ia: &'a mut IntrusiveAlias) -> &'a mut T { [INFO] [stderr] 366 | | mem::transmute(ia as *const _) [INFO] [stderr] 367 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const IntrusiveAlias`) to a reference type (`&'a mut T`) [INFO] [stderr] --> src/lib.rs:366:9 [INFO] [stderr] | [INFO] [stderr] 366 | mem::transmute(ia as *const _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(ia as *const _ as *mut T)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:383:5 [INFO] [stderr] | [INFO] [stderr] 383 | / fn of_container<'a>(container: &'a T::Container) -> BorrowBox<'a, T> { [INFO] [stderr] 384 | | let addr = container as *const _ as usize; [INFO] [stderr] 385 | | let fieldptr = addr + ::offset(); [INFO] [stderr] 386 | | unsafe { BorrowBox::new_from(IntrusiveAlias::new(fieldptr), container) } [INFO] [stderr] 387 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | / fn of_container_mut<'a>(container: &'a mut T::Container) -> BorrowBoxMut<'a, T> { [INFO] [stderr] 390 | | let addr = container as *mut _ as usize; [INFO] [stderr] 391 | | let fieldptr = addr + ::offset(); [INFO] [stderr] 392 | | unsafe { BorrowBoxMut::new_from(IntrusiveAlias::new(fieldptr), container) } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:395:5 [INFO] [stderr] | [INFO] [stderr] 395 | / fn as_container<'a>(&'a self) -> &'a T::Container { [INFO] [stderr] 396 | | unsafe { [INFO] [stderr] 397 | | let fieldptr = self.as_alias().get_address(); [INFO] [stderr] 398 | | let containerptr = fieldptr - ::offset(); [INFO] [stderr] 399 | | &*(containerptr as *const T::Container) [INFO] [stderr] 400 | | } [INFO] [stderr] 401 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:404:5 [INFO] [stderr] | [INFO] [stderr] 404 | / fn as_container_mut<'a>(&'a mut self) -> &'a mut T::Container { [INFO] [stderr] 405 | | unsafe { mem::transmute(self.as_container()) } [INFO] [stderr] 406 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/lib.rs:405:18 [INFO] [stderr] | [INFO] [stderr] 405 | unsafe { mem::transmute(self.as_container()) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.as_container() as *const ::Container as *mut ::Container)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:418:5 [INFO] [stderr] | [INFO] [stderr] 418 | / unsafe fn of_field<'a>(field: &'a T::Field) -> BorrowBox<'a, T> { [INFO] [stderr] 419 | | BorrowBox::new_from(IntrusiveAlias::new_of(field), field) [INFO] [stderr] 420 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:422:5 [INFO] [stderr] | [INFO] [stderr] 422 | / unsafe fn of_field_mut<'a>(field: &'a mut T::Field) -> BorrowBoxMut<'a, T> { [INFO] [stderr] 423 | | BorrowBoxMut::new_from(IntrusiveAlias::new_of(field), field) [INFO] [stderr] 424 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | / fn as_field<'a>(&'a self) -> &'a T::Field { [INFO] [stderr] 427 | | unsafe { &*(self.as_alias().get_address() as *const _) } [INFO] [stderr] 428 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:430:5 [INFO] [stderr] | [INFO] [stderr] 430 | / fn as_field_mut<'a>(&'a mut self) -> &'a mut T::Field { [INFO] [stderr] 431 | | unsafe { &mut *(self.as_alias().get_address() as *mut _) } [INFO] [stderr] 432 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:104:24 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn get_address(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | / pub unsafe fn as_alias<'a>(&'a self) -> &'a IntrusiveAlias { [INFO] [stderr] 140 | | &self.pointer [INFO] [stderr] 141 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | / fn deref<'a>(&'a self) -> &'a T { [INFO] [stderr] 164 | | unsafe { mem::transmute(self.get_address()) } [INFO] [stderr] 165 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | / fn deref_mut<'a>(&'a mut self) -> &'a mut T { [INFO] [stderr] 169 | | unsafe { mem::transmute(self.get_address()) } [INFO] [stderr] 170 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:206:5 [INFO] [stderr] | [INFO] [stderr] 206 | / fn deref<'b>(&'b self) -> &'b T { [INFO] [stderr] 207 | | unsafe { Intrusive::of_alias(&self.pointer) } [INFO] [stderr] 208 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:238:5 [INFO] [stderr] | [INFO] [stderr] 238 | / fn deref<'b>(&'b self) -> &'b T { [INFO] [stderr] 239 | | unsafe { Intrusive::of_alias(&self.pointer) } [INFO] [stderr] 240 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | / fn deref_mut<'b>(&'b mut self) -> &'b mut T { [INFO] [stderr] 244 | | unsafe { Intrusive::of_alias_mut(&mut self.pointer) } [INFO] [stderr] 245 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:268:5 [INFO] [stderr] | [INFO] [stderr] 268 | unsafe fn as_alias<'a>(&'a self) -> &'a IntrusiveAlias; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | unsafe fn as_alias_mut<'a>(&'a mut self) -> &'a mut IntrusiveAlias; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:290:5 [INFO] [stderr] | [INFO] [stderr] 290 | unsafe fn of_alias<'a>(&'a IntrusiveAlias) -> &'a Self; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | unsafe fn of_alias_mut<'a>(ia: &'a mut IntrusiveAlias) -> &'a mut Self; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:306:5 [INFO] [stderr] | [INFO] [stderr] 306 | fn of_container<'a>(&'a Self::Container) -> BorrowBox<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 310 | fn of_container_mut<'a>(&'a mut Self::Container) -> BorrowBoxMut<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:314:5 [INFO] [stderr] | [INFO] [stderr] 314 | fn as_container<'a>(&'a self) -> &'a Self::Container; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:317:5 [INFO] [stderr] | [INFO] [stderr] 317 | fn as_container_mut<'a>(&'a mut self) -> &'a mut Self::Container; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | unsafe fn of_field<'a>(&'a Self::Field) -> BorrowBox<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:335:5 [INFO] [stderr] | [INFO] [stderr] 335 | unsafe fn of_field_mut<'a>(&'a mut Self::Field) -> BorrowBoxMut<'a, Self>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:339:5 [INFO] [stderr] | [INFO] [stderr] 339 | fn as_field<'a>(&'a self) -> &'a Self::Field; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:343:5 [INFO] [stderr] | [INFO] [stderr] 343 | fn as_field_mut<'a>(&'a mut self) -> &'a mut Self::Field; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:357:5 [INFO] [stderr] | [INFO] [stderr] 357 | / unsafe fn as_alias_mut<'a>(&'a mut self) -> &'a mut IntrusiveAlias { [INFO] [stderr] 358 | | mem::transmute(self.as_alias()) [INFO] [stderr] 359 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/lib.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | mem::transmute(self.as_alias()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.as_alias() as *const IntrusiveAlias as *mut IntrusiveAlias)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:361:5 [INFO] [stderr] | [INFO] [stderr] 361 | / unsafe fn of_alias<'a>(ia: &'a IntrusiveAlias) -> &'a T { [INFO] [stderr] 362 | | mem::transmute(ia as *const _) [INFO] [stderr] 363 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const IntrusiveAlias`) to a reference type (`&'a T`) [INFO] [stderr] --> src/lib.rs:362:9 [INFO] [stderr] | [INFO] [stderr] 362 | mem::transmute(ia as *const _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(ia as *const _ as *const T)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:365:5 [INFO] [stderr] | [INFO] [stderr] 365 | / unsafe fn of_alias_mut<'a>(ia: &'a mut IntrusiveAlias) -> &'a mut T { [INFO] [stderr] 366 | | mem::transmute(ia as *const _) [INFO] [stderr] 367 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const IntrusiveAlias`) to a reference type (`&'a mut T`) [INFO] [stderr] --> src/lib.rs:366:9 [INFO] [stderr] | [INFO] [stderr] 366 | mem::transmute(ia as *const _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(ia as *const _ as *mut T)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:383:5 [INFO] [stderr] | [INFO] [stderr] 383 | / fn of_container<'a>(container: &'a T::Container) -> BorrowBox<'a, T> { [INFO] [stderr] 384 | | let addr = container as *const _ as usize; [INFO] [stderr] 385 | | let fieldptr = addr + ::offset(); [INFO] [stderr] 386 | | unsafe { BorrowBox::new_from(IntrusiveAlias::new(fieldptr), container) } [INFO] [stderr] 387 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | / fn of_container_mut<'a>(container: &'a mut T::Container) -> BorrowBoxMut<'a, T> { [INFO] [stderr] 390 | | let addr = container as *mut _ as usize; [INFO] [stderr] 391 | | let fieldptr = addr + ::offset(); [INFO] [stderr] 392 | | unsafe { BorrowBoxMut::new_from(IntrusiveAlias::new(fieldptr), container) } [INFO] [stderr] 393 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:395:5 [INFO] [stderr] | [INFO] [stderr] 395 | / fn as_container<'a>(&'a self) -> &'a T::Container { [INFO] [stderr] 396 | | unsafe { [INFO] [stderr] 397 | | let fieldptr = self.as_alias().get_address(); [INFO] [stderr] 398 | | let containerptr = fieldptr - ::offset(); [INFO] [stderr] 399 | | &*(containerptr as *const T::Container) [INFO] [stderr] 400 | | } [INFO] [stderr] 401 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:404:5 [INFO] [stderr] | [INFO] [stderr] 404 | / fn as_container_mut<'a>(&'a mut self) -> &'a mut T::Container { [INFO] [stderr] 405 | | unsafe { mem::transmute(self.as_container()) } [INFO] [stderr] 406 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/lib.rs:405:18 [INFO] [stderr] | [INFO] [stderr] 405 | unsafe { mem::transmute(self.as_container()) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.as_container() as *const ::Container as *mut ::Container)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:418:5 [INFO] [stderr] | [INFO] [stderr] 418 | / unsafe fn of_field<'a>(field: &'a T::Field) -> BorrowBox<'a, T> { [INFO] [stderr] 419 | | BorrowBox::new_from(IntrusiveAlias::new_of(field), field) [INFO] [stderr] 420 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:422:5 [INFO] [stderr] | [INFO] [stderr] 422 | / unsafe fn of_field_mut<'a>(field: &'a mut T::Field) -> BorrowBoxMut<'a, T> { [INFO] [stderr] 423 | | BorrowBoxMut::new_from(IntrusiveAlias::new_of(field), field) [INFO] [stderr] 424 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | / fn as_field<'a>(&'a self) -> &'a T::Field { [INFO] [stderr] 427 | | unsafe { &*(self.as_alias().get_address() as *const _) } [INFO] [stderr] 428 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:430:5 [INFO] [stderr] | [INFO] [stderr] 430 | / fn as_field_mut<'a>(&'a mut self) -> &'a mut T::Field { [INFO] [stderr] 431 | | unsafe { &mut *(self.as_alias().get_address() as *mut _) } [INFO] [stderr] 432 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> tests/lib.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> tests/lib.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | containerof_field_offset!(MyStruct:field2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> tests/lib.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / unsafe fn as_alias<'a>(&'a self) -> &'a IntrusiveAlias { [INFO] [stderr] 28 | | ::std::mem::transmute(self as *const _) [INFO] [stderr] 29 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const MyStructField2_Meth1`) to a reference type (`&'a containerof::IntrusiveAlias`) [INFO] [stderr] --> tests/lib.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | ::std::mem::transmute(self as *const _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self as *const _ as *const containerof::IntrusiveAlias)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> tests/lib.rs:40:42 [INFO] [stderr] | [INFO] [stderr] 40 | assert_eq!(ms_field1_addr - ms_addr, containerof_field_offset!(MyStruct:field1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> tests/lib.rs:41:42 [INFO] [stderr] | [INFO] [stderr] 41 | assert_eq!(ms_field2_addr - ms_addr, containerof_field_offset!(MyStruct:field2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> tests/lib.rs:42:42 [INFO] [stderr] | [INFO] [stderr] 42 | assert_eq!(ms_field3_addr - ms_addr, containerof_field_offset!(MyStruct:field3)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/lib.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | ::std::mem::drop(mcfieldcontainer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type usize [INFO] [stderr] --> tests/lib.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | ::std::mem::drop(mcfieldcontainer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `containerof`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "dd0d727b1627ffc7e19379ad09dea384c1879652d947842a22c4c61098bdc8cd"` [INFO] running `"docker" "rm" "-f" "dd0d727b1627ffc7e19379ad09dea384c1879652d947842a22c4c61098bdc8cd"` [INFO] [stdout] dd0d727b1627ffc7e19379ad09dea384c1879652d947842a22c4c61098bdc8cd