[INFO] fetching crate permutator 0.4.3... [INFO] checking permutator-0.4.3 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate permutator 0.4.3 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate permutator 0.4.3 [INFO] finished tweaking crates.io crate permutator 0.4.3 [INFO] tweaked toml for crates.io crate permutator 0.4.3 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate permutator 0.4.3 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 8 packages to latest compatible versions [INFO] [stderr] Adding num v0.2.1 (available: v0.4.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a36933c575049edb81b934d5b479b966ab50ff744b98140f5acced2891a15bb7 [INFO] running `Command { std: "docker" "start" "-a" "a36933c575049edb81b934d5b479b966ab50ff744b98140f5acced2891a15bb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a36933c575049edb81b934d5b479b966ab50ff744b98140f5acced2891a15bb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a36933c575049edb81b934d5b479b966ab50ff744b98140f5acced2891a15bb7", kill_on_drop: false }` [INFO] [stdout] a36933c575049edb81b934d5b479b966ab50ff744b98140f5acced2891a15bb7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31805a75eb07ee10660d058a6b2aa7a13412f202817c70b019558ef6a25c84d8 [INFO] running `Command { std: "docker" "start" "-a" "31805a75eb07ee10660d058a6b2aa7a13412f202817c70b019558ef6a25c84d8", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking permutator v0.4.3 (/opt/rustwide/workdir) [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2010:19 [INFO] [stdout] | [INFO] [stdout] 2010 | assert_eq!(k, (*result).len()); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:2010:19 [INFO] [stdout] | [INFO] [stdout] 2010 | assert_eq!(k, (*result).len()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] = note: `#[deny(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2010 | assert_eq!(k, (&(*result)).len()); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2485:20 [INFO] [stdout] | [INFO] [stdout] 2485 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^--------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec<&T>` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec<&T>` [INFO] [stdout] --> src/lib.rs:2485:20 [INFO] [stdout] | [INFO] [stdout] 2485 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2485 | t(&(&(*perm_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2636:16 [INFO] [stdout] | [INFO] [stdout] 2636 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:2636:16 [INFO] [stdout] | [INFO] [stdout] 2636 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2636 | assert_eq!((&(*result)).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2644:16 [INFO] [stdout] | [INFO] [stdout] 2644 | t(&(*result)[0..k]) [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:2644:16 [INFO] [stdout] | [INFO] [stdout] 2644 | t(&(*result)[0..k]) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2644 | t(&(&(*result))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:3171:23 [INFO] [stdout] | [INFO] [stdout] 3171 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator { [INFO] [stdout] | ^^^^ ---------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3171 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:3755:23 [INFO] [stdout] | [INFO] [stdout] 3755 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator { [INFO] [stdout] | ^^^^ --------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3755 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:4120:23 [INFO] [stdout] | [INFO] [stdout] 4120 | pub fn new(data : &mut [T]) -> HeapPermutationIterator { [INFO] [stdout] | ^^^^^^^^ -------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 4120 | pub fn new(data : &mut [T]) -> HeapPermutationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:4317:25 [INFO] [stdout] | [INFO] [stdout] 4317 | c : vec![0; (*data).len()], [INFO] [stdout] | ^^----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/lib.rs:4317:25 [INFO] [stdout] | [INFO] [stdout] 4317 | c : vec![0; (*data).len()], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4317 | c : vec![0; (&(*data)).len()], [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:4498:23 [INFO] [stdout] | [INFO] [stdout] 4498 | pub fn new(data : &[T], k : usize) -> KPermutationIterator { [INFO] [stdout] | ^^^^ ----------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 4498 | pub fn new(data : &[T], k : usize) -> KPermutationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:5077:24 [INFO] [stdout] | [INFO] [stdout] 5077 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator { [INFO] [stdout] | ^^ -------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 5077 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator<'a, F, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:5123:24 [INFO] [stdout] | [INFO] [stdout] 5123 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:5123:24 [INFO] [stdout] | [INFO] [stdout] 5123 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5123 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:5256:24 [INFO] [stdout] | [INFO] [stdout] 5256 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:5256:24 [INFO] [stdout] | [INFO] [stdout] 5256 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5256 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:5389:24 [INFO] [stdout] | [INFO] [stdout] 5389 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:5389:24 [INFO] [stdout] | [INFO] [stdout] 5389 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5389 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6148:21 [INFO] [stdout] | [INFO] [stdout] 6148 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6148 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6166:21 [INFO] [stdout] | [INFO] [stdout] 6166 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6166 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6184:21 [INFO] [stdout] | [INFO] [stdout] 6184 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6184 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6213:21 [INFO] [stdout] | [INFO] [stdout] 6213 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter> { [INFO] [stdout] | ^^ the lifetime is named here ------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6213 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:6218:33 [INFO] [stdout] | [INFO] [stdout] 6218 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/lib.rs:6218:33 [INFO] [stdout] | [INFO] [stdout] 6218 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 6218 | c : vec![0; (&(**self)).len()], [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:1656:19 [INFO] [stdout] | [INFO] [stdout] 1656 | assert_eq!(k, (*result).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:1656:19 [INFO] [stdout] | [INFO] [stdout] 1656 | assert_eq!(k, (*result).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1656 | assert_eq!(k, (&(*result)).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:2008:20 [INFO] [stdout] | [INFO] [stdout] 2008 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^--------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec` [INFO] [stdout] --> src/copy/mod.rs:2008:20 [INFO] [stdout] | [INFO] [stdout] 2008 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2008 | t(&(&(*perm_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:2159:16 [INFO] [stdout] | [INFO] [stdout] 2159 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:2159:16 [INFO] [stdout] | [INFO] [stdout] 2159 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2159 | assert_eq!((&(*result)).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:2167:16 [INFO] [stdout] | [INFO] [stdout] 2167 | t(&(*result)[0..k]) [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:2167:16 [INFO] [stdout] | [INFO] [stdout] 2167 | t(&(*result)[0..k]) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2167 | t(&(&(*result))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:2609:23 [INFO] [stdout] | [INFO] [stdout] 2609 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator { [INFO] [stdout] | ^^^^ ---------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2609 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:3054:23 [INFO] [stdout] | [INFO] [stdout] 3054 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator { [INFO] [stdout] | ^^^^ --------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3054 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:3411:23 [INFO] [stdout] | [INFO] [stdout] 3411 | pub fn new(data : &[T], k : usize) -> KPermutationIterator { [INFO] [stdout] | ^^^^ ----------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3411 | pub fn new(data : &[T], k : usize) -> KPermutationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:4245:24 [INFO] [stdout] | [INFO] [stdout] 4245 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator { [INFO] [stdout] | ^^ -------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 4245 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator<'a, F, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:4291:24 [INFO] [stdout] | [INFO] [stdout] 4291 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:4291:24 [INFO] [stdout] | [INFO] [stdout] 4291 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4291 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:4424:24 [INFO] [stdout] | [INFO] [stdout] 4424 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:4424:24 [INFO] [stdout] | [INFO] [stdout] 4424 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4424 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:4557:24 [INFO] [stdout] | [INFO] [stdout] 4557 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:4557:24 [INFO] [stdout] | [INFO] [stdout] 4557 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4557 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:4973:21 [INFO] [stdout] | [INFO] [stdout] 4973 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 4973 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:4991:21 [INFO] [stdout] | [INFO] [stdout] 4991 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 4991 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:5020:21 [INFO] [stdout] | [INFO] [stdout] 5020 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter> { [INFO] [stdout] | ^^ the lifetime is named here ------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 5020 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:5025:33 [INFO] [stdout] | [INFO] [stdout] 5025 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:5025:33 [INFO] [stdout] | [INFO] [stdout] 5025 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5025 | c : vec![0; (&(**self)).len()], [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `permutator` (lib) due to 17 previous errors; 16 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2010:19 [INFO] [stdout] | [INFO] [stdout] 2010 | assert_eq!(k, (*result).len()); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:2010:19 [INFO] [stdout] | [INFO] [stdout] 2010 | assert_eq!(k, (*result).len()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] = note: `#[deny(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2010 | assert_eq!(k, (&(*result)).len()); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2485:20 [INFO] [stdout] | [INFO] [stdout] 2485 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^--------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec<&T>` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec<&T>` [INFO] [stdout] --> src/lib.rs:2485:20 [INFO] [stdout] | [INFO] [stdout] 2485 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2485 | t(&(&(*perm_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2636:16 [INFO] [stdout] | [INFO] [stdout] 2636 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:2636:16 [INFO] [stdout] | [INFO] [stdout] 2636 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2636 | assert_eq!((&(*result)).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:2644:16 [INFO] [stdout] | [INFO] [stdout] 2644 | t(&(*result)[0..k]) [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:2644:16 [INFO] [stdout] | [INFO] [stdout] 2644 | t(&(*result)[0..k]) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2644 | t(&(&(*result))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:3171:23 [INFO] [stdout] | [INFO] [stdout] 3171 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator { [INFO] [stdout] | ^^^^ ---------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3171 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:3755:23 [INFO] [stdout] | [INFO] [stdout] 3755 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator { [INFO] [stdout] | ^^^^ --------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3755 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:4120:23 [INFO] [stdout] | [INFO] [stdout] 4120 | pub fn new(data : &mut [T]) -> HeapPermutationIterator { [INFO] [stdout] | ^^^^^^^^ -------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 4120 | pub fn new(data : &mut [T]) -> HeapPermutationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:4317:25 [INFO] [stdout] | [INFO] [stdout] 4317 | c : vec![0; (*data).len()], [INFO] [stdout] | ^^----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/lib.rs:4317:25 [INFO] [stdout] | [INFO] [stdout] 4317 | c : vec![0; (*data).len()], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4317 | c : vec![0; (&(*data)).len()], [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:4498:23 [INFO] [stdout] | [INFO] [stdout] 4498 | pub fn new(data : &[T], k : usize) -> KPermutationIterator { [INFO] [stdout] | ^^^^ ----------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 4498 | pub fn new(data : &[T], k : usize) -> KPermutationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:5077:24 [INFO] [stdout] | [INFO] [stdout] 5077 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator { [INFO] [stdout] | ^^ -------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 5077 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator<'a, F, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:5123:24 [INFO] [stdout] | [INFO] [stdout] 5123 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:5123:24 [INFO] [stdout] | [INFO] [stdout] 5123 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5123 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:5256:24 [INFO] [stdout] | [INFO] [stdout] 5256 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:5256:24 [INFO] [stdout] | [INFO] [stdout] 5256 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5256 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:5389:24 [INFO] [stdout] | [INFO] [stdout] 5389 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [&T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stdout] --> src/lib.rs:5389:24 [INFO] [stdout] | [INFO] [stdout] 5389 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5389 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6148:21 [INFO] [stdout] | [INFO] [stdout] 6148 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6148 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6166:21 [INFO] [stdout] | [INFO] [stdout] 6166 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6166 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6184:21 [INFO] [stdout] | [INFO] [stdout] 6184 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6184 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/lib.rs:6213:21 [INFO] [stdout] | [INFO] [stdout] 6213 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter> { [INFO] [stdout] | ^^ the lifetime is named here ------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 6213 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/lib.rs:6218:33 [INFO] [stdout] | [INFO] [stdout] 6218 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/lib.rs:6218:33 [INFO] [stdout] | [INFO] [stdout] 6218 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 6218 | c : vec![0; (&(**self)).len()], [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:1656:19 [INFO] [stdout] | [INFO] [stdout] 1656 | assert_eq!(k, (*result).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:1656:19 [INFO] [stdout] | [INFO] [stdout] 1656 | assert_eq!(k, (*result).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1656 | assert_eq!(k, (&(*result)).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:2008:20 [INFO] [stdout] | [INFO] [stdout] 2008 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^--------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec` [INFO] [stdout] --> src/copy/mod.rs:2008:20 [INFO] [stdout] | [INFO] [stdout] 2008 | t(&(*perm_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2008 | t(&(&(*perm_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:2159:16 [INFO] [stdout] | [INFO] [stdout] 2159 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:2159:16 [INFO] [stdout] | [INFO] [stdout] 2159 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2159 | assert_eq!((&(*result)).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:2167:16 [INFO] [stdout] | [INFO] [stdout] 2167 | t(&(*result)[0..k]) [INFO] [stdout] | ^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:2167:16 [INFO] [stdout] | [INFO] [stdout] 2167 | t(&(*result)[0..k]) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 2167 | t(&(&(*result))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:2609:23 [INFO] [stdout] | [INFO] [stdout] 2609 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator { [INFO] [stdout] | ^^^^ ---------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2609 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:3054:23 [INFO] [stdout] | [INFO] [stdout] 3054 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator { [INFO] [stdout] | ^^^^ --------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3054 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:3411:23 [INFO] [stdout] | [INFO] [stdout] 3411 | pub fn new(data : &[T], k : usize) -> KPermutationIterator { [INFO] [stdout] | ^^^^ ----------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 3411 | pub fn new(data : &[T], k : usize) -> KPermutationIterator<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:4245:24 [INFO] [stdout] | [INFO] [stdout] 4245 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator { [INFO] [stdout] | ^^ -------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 4245 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator<'a, F, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:4291:24 [INFO] [stdout] | [INFO] [stdout] 4291 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:4291:24 [INFO] [stdout] | [INFO] [stdout] 4291 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4291 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:4424:24 [INFO] [stdout] | [INFO] [stdout] 4424 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:4424:24 [INFO] [stdout] | [INFO] [stdout] 4424 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4424 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:4557:24 [INFO] [stdout] | [INFO] [stdout] 4557 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:4557:24 [INFO] [stdout] | [INFO] [stdout] 4557 | t(&(*result_ptr)[0..k]) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 4557 | t(&(&(*result_ptr))[0..k]) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:4973:21 [INFO] [stdout] | [INFO] [stdout] 4973 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 4973 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:4991:21 [INFO] [stdout] | [INFO] [stdout] 4991 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter> { [INFO] [stdout] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 4991 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/copy/mod.rs:5020:21 [INFO] [stdout] | [INFO] [stdout] 5020 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter> { [INFO] [stdout] | ^^ the lifetime is named here ------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 5020 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/copy/mod.rs:5025:33 [INFO] [stdout] | [INFO] [stdout] 5025 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut [T]` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stdout] --> src/copy/mod.rs:5025:33 [INFO] [stdout] | [INFO] [stdout] 5025 | c : vec![0; (**self).len()], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 5025 | c : vec![0; (&(**self)).len()], [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `permutator` (lib test) due to 17 previous errors; 16 warnings emitted [INFO] running `Command { std: "docker" "inspect" "31805a75eb07ee10660d058a6b2aa7a13412f202817c70b019558ef6a25c84d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31805a75eb07ee10660d058a6b2aa7a13412f202817c70b019558ef6a25c84d8", kill_on_drop: false }` [INFO] [stdout] 31805a75eb07ee10660d058a6b2aa7a13412f202817c70b019558ef6a25c84d8