[INFO] fetching crate permutator 0.4.3... [INFO] testing permutator-0.4.3 against 1.90.0 for beta-1.91-3 [INFO] extracting crate permutator 0.4.3 into /workspace/builds/worker-3-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-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate permutator 0.4.3 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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" "+1.90.0" "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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num v0.2.1 [INFO] [stderr] Downloaded num-rational v0.2.4 [INFO] [stderr] Downloaded num-complex v0.2.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8a3dc82db18f1b97f0d9cb6898dc918a23d2d9f56b589d616183402cf5f63764 [INFO] running `Command { std: "docker" "start" "-a" "8a3dc82db18f1b97f0d9cb6898dc918a23d2d9f56b589d616183402cf5f63764", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8a3dc82db18f1b97f0d9cb6898dc918a23d2d9f56b589d616183402cf5f63764", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a3dc82db18f1b97f0d9cb6898dc918a23d2d9f56b589d616183402cf5f63764", kill_on_drop: false }` [INFO] [stdout] 8a3dc82db18f1b97f0d9cb6898dc918a23d2d9f56b589d616183402cf5f63764 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e6b5cac2a95379816b340af630a82e65b061f43cb1f01e522fbad9c92d8d2915 [INFO] running `Command { std: "docker" "start" "-a" "e6b5cac2a95379816b340af630a82e65b061f43cb1f01e522fbad9c92d8d2915", kill_on_drop: false }` [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] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num v0.2.1 [INFO] [stderr] Compiling permutator v0.4.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] = note: `#[warn(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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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] warning: 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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.08s [INFO] running `Command { std: "docker" "inspect" "e6b5cac2a95379816b340af630a82e65b061f43cb1f01e522fbad9c92d8d2915", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e6b5cac2a95379816b340af630a82e65b061f43cb1f01e522fbad9c92d8d2915", kill_on_drop: false }` [INFO] [stdout] e6b5cac2a95379816b340af630a82e65b061f43cb1f01e522fbad9c92d8d2915 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a5681cd991a308ac414703809208da4cb08bb3c01e1d609542f18390f82dde52 [INFO] running `Command { std: "docker" "start" "-a" "a5681cd991a308ac414703809208da4cb08bb3c01e1d609542f18390f82dde52", kill_on_drop: false }` [INFO] [stdout] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] = note: `#[warn(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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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] warning: 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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] Compiling permutator v0.4.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stdout] = note: `#[warn(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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] warning: 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] warning: 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] warning: 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] warning: 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] warning: 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/1159e78c4747b02ef996e55082b704c09b970588/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] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.08s [INFO] running `Command { std: "docker" "inspect" "a5681cd991a308ac414703809208da4cb08bb3c01e1d609542f18390f82dde52", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a5681cd991a308ac414703809208da4cb08bb3c01e1d609542f18390f82dde52", kill_on_drop: false }` [INFO] [stdout] a5681cd991a308ac414703809208da4cb08bb3c01e1d609542f18390f82dde52 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] da42a7751fa6c88e62fe585f7071dca565e019d8023e4371838269c6d31861b3 [INFO] running `Command { std: "docker" "start" "-a" "da42a7751fa6c88e62fe585f7071dca565e019d8023e4371838269c6d31861b3", kill_on_drop: false }` [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:2010:19 [INFO] [stderr] | [INFO] [stderr] 2010 | assert_eq!(k, (*result).len()); [INFO] [stderr] | ^^------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [&T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stderr] --> src/lib.rs:2010:19 [INFO] [stderr] | [INFO] [stderr] 2010 | assert_eq!(k, (*result).len()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stderr] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 2010 | assert_eq!(k, (&(*result)).len()); [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:2485:20 [INFO] [stderr] | [INFO] [stderr] 2485 | t(&(*perm_ptr)[0..k]) [INFO] [stderr] | ^^--------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const Vec<&T>` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<&T>` [INFO] [stderr] --> src/lib.rs:2485:20 [INFO] [stderr] | [INFO] [stderr] 2485 | t(&(*perm_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 2485 | t(&(&(*perm_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:2636:16 [INFO] [stderr] | [INFO] [stderr] 2636 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stderr] | ^^------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [&T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stderr] --> src/lib.rs:2636:16 [INFO] [stderr] | [INFO] [stderr] 2636 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 2636 | assert_eq!((&(*result)).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:2644:16 [INFO] [stderr] | [INFO] [stderr] 2644 | t(&(*result)[0..k]) [INFO] [stderr] | ^^------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [&T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stderr] --> src/lib.rs:2644:16 [INFO] [stderr] | [INFO] [stderr] 2644 | t(&(*result)[0..k]) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 2644 | t(&(&(*result))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:3171:23 [INFO] [stderr] | [INFO] [stderr] 3171 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator { [INFO] [stderr] | ^^^^ ---------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 3171 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:3755:23 [INFO] [stderr] | [INFO] [stderr] 3755 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator { [INFO] [stderr] | ^^^^ --------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 3755 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:4120:23 [INFO] [stderr] | [INFO] [stderr] 4120 | pub fn new(data : &mut [T]) -> HeapPermutationIterator { [INFO] [stderr] | ^^^^^^^^ -------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 4120 | pub fn new(data : &mut [T]) -> HeapPermutationIterator<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:4317:25 [INFO] [stderr] | [INFO] [stderr] 4317 | c : vec![0; (*data).len()], [INFO] [stderr] | ^^----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/lib.rs:4317:25 [INFO] [stderr] | [INFO] [stderr] 4317 | c : vec![0; (*data).len()], [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 4317 | c : vec![0; (&(*data)).len()], [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:4498:23 [INFO] [stderr] | [INFO] [stderr] 4498 | pub fn new(data : &[T], k : usize) -> KPermutationIterator { [INFO] [stderr] | ^^^^ ----------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 4498 | pub fn new(data : &[T], k : usize) -> KPermutationIterator<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/lib.rs:5077:24 [INFO] [stderr] | [INFO] [stderr] 5077 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator { [INFO] [stderr] | ^^ -------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 5077 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator<'a, F, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:5123:24 [INFO] [stderr] | [INFO] [stderr] 5123 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^----------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const [&T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stderr] --> src/lib.rs:5123:24 [INFO] [stderr] | [INFO] [stderr] 5123 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 5123 | t(&(&(*result_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:5256:24 [INFO] [stderr] | [INFO] [stderr] 5256 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^----------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const [&T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stderr] --> src/lib.rs:5256:24 [INFO] [stderr] | [INFO] [stderr] 5256 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 5256 | t(&(&(*result_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:5389:24 [INFO] [stderr] | [INFO] [stderr] 5389 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^----------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const [&T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[&T]` [INFO] [stderr] --> src/lib.rs:5389:24 [INFO] [stderr] | [INFO] [stderr] 5389 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 5389 | t(&(&(*result_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/lib.rs:6148:21 [INFO] [stderr] | [INFO] [stderr] 6148 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stderr] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 6148 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/lib.rs:6166:21 [INFO] [stderr] | [INFO] [stderr] 6166 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stderr] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 6166 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/lib.rs:6184:21 [INFO] [stderr] | [INFO] [stderr] 6184 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter> { [INFO] [stderr] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 6184 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/lib.rs:6213:21 [INFO] [stderr] | [INFO] [stderr] 6213 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter> { [INFO] [stderr] | ^^ the lifetime is named here ------------------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 6213 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/lib.rs:6218:33 [INFO] [stderr] | [INFO] [stderr] 6218 | c : vec![0; (**self).len()], [INFO] [stderr] | ^^-----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/lib.rs:6218:33 [INFO] [stderr] | [INFO] [stderr] 6218 | c : vec![0; (**self).len()], [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 6218 | c : vec![0; (&(**self)).len()], [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:1656:19 [INFO] [stderr] | [INFO] [stderr] 1656 | assert_eq!(k, (*result).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stderr] | ^^------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/copy/mod.rs:1656:19 [INFO] [stderr] | [INFO] [stderr] 1656 | assert_eq!(k, (*result).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 1656 | assert_eq!(k, (&(*result)).len(), "Result is too large. Result length need to be exactly equals to 'k'"); [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:2008:20 [INFO] [stderr] | [INFO] [stderr] 2008 | t(&(*perm_ptr)[0..k]) [INFO] [stderr] | ^^--------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const Vec` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec` [INFO] [stderr] --> src/copy/mod.rs:2008:20 [INFO] [stderr] | [INFO] [stderr] 2008 | t(&(*perm_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 2008 | t(&(&(*perm_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:2159:16 [INFO] [stderr] | [INFO] [stderr] 2159 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stderr] | ^^------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/copy/mod.rs:2159:16 [INFO] [stderr] | [INFO] [stderr] 2159 | assert_eq!((*result).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 2159 | assert_eq!((&(*result)).len(), d.len(), "`result` shall has length equals to `d`"); [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:2167:16 [INFO] [stderr] | [INFO] [stderr] 2167 | t(&(*result)[0..k]) [INFO] [stderr] | ^^------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/copy/mod.rs:2167:16 [INFO] [stderr] | [INFO] [stderr] 2167 | t(&(*result)[0..k]) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 2167 | t(&(&(*result))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/copy/mod.rs:2609:23 [INFO] [stderr] | [INFO] [stderr] 2609 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator { [INFO] [stderr] | ^^^^ ---------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 2609 | pub fn new(data : &[T], r : usize) -> GosperCombinationIterator<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/copy/mod.rs:3054:23 [INFO] [stderr] | [INFO] [stderr] 3054 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator { [INFO] [stderr] | ^^^^ --------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 3054 | pub fn new(data : &[T], r : usize) -> LargeCombinationIterator<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/copy/mod.rs:3411:23 [INFO] [stderr] | [INFO] [stderr] 3411 | pub fn new(data : &[T], k : usize) -> KPermutationIterator { [INFO] [stderr] | ^^^^ ----------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 3411 | pub fn new(data : &[T], k : usize) -> KPermutationIterator<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/copy/mod.rs:4245:24 [INFO] [stderr] | [INFO] [stderr] 4245 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator { [INFO] [stderr] | ^^ -------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 4245 | pub fn new(data : &'a [T], t : F) -> XPermutationIterator<'a, F, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:4291:24 [INFO] [stderr] | [INFO] [stderr] 4291 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^----------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/copy/mod.rs:4291:24 [INFO] [stderr] | [INFO] [stderr] 4291 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 4291 | t(&(&(*result_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:4424:24 [INFO] [stderr] | [INFO] [stderr] 4424 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^----------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/copy/mod.rs:4424:24 [INFO] [stderr] | [INFO] [stderr] 4424 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 4424 | t(&(&(*result_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:4557:24 [INFO] [stderr] | [INFO] [stderr] 4557 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^----------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/copy/mod.rs:4557:24 [INFO] [stderr] | [INFO] [stderr] 4557 | t(&(*result_ptr)[0..k]) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 4557 | t(&(&(*result_ptr))[0..k]) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/copy/mod.rs:4973:21 [INFO] [stderr] | [INFO] [stderr] 4973 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator> { [INFO] [stderr] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 4973 | fn permutation(&'a mut self) -> Chain>, HeapPermutationIterator<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/copy/mod.rs:4991:21 [INFO] [stderr] | [INFO] [stderr] 4991 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter> { [INFO] [stderr] | ^^ the lifetime is named here -------------------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 4991 | fn permutation(&'a mut self) -> Chain, HeapPermutationCellIter<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/copy/mod.rs:5020:21 [INFO] [stderr] | [INFO] [stderr] 5020 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter> { [INFO] [stderr] | ^^ the lifetime is named here ------------------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 5020 | fn permutation(&'a mut self) -> Chain, HeapPermutationRefIter<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/copy/mod.rs:5025:33 [INFO] [stderr] | [INFO] [stderr] 5025 | c : vec![0; (**self).len()], [INFO] [stderr] | ^^-----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut [T]` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[T]` [INFO] [stderr] --> src/copy/mod.rs:5025:33 [INFO] [stderr] | [INFO] [stderr] 5025 | c : vec![0; (**self).len()], [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 5025 | c : vec![0; (&(**self)).len()], [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: `permutator` (lib) generated 33 warnings [INFO] [stderr] warning: `permutator` (lib test) generated 33 warnings (33 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/permutator-882128f6622a956d) [INFO] [stdout] [INFO] [stdout] running 182 tests [INFO] [stdout] test copy::test::compare_gosper_custom_cell_iter ... ignored [INFO] [stdout] test copy::test::compare_gosper_custom_fn ... ignored [INFO] [stdout] test copy::test::compare_gosper_custom_iter ... ignored [INFO] [stdout] test copy::test::compare_gosper_custom_ref_iter ... ignored [INFO] [stdout] test copy::test::test_CartesianProduct ... ok [INFO] [stdout] test copy::test::test_CartesianProduct_iterator_alike_shared_result ... ok [INFO] [stdout] test copy::test::test_CartesianProduct_reset ... ok [INFO] [stdout] test copy::test::test_CartesianProduct_ptr_trait ... ok [INFO] [stdout] test copy::test::test_CartesianProduct_trait ... ok [INFO] [stdout] test copy::test::test_GosperCombinationIterator ... ok [INFO] [stdout] test copy::test::test_CartesianProduct_shared_trait ... ok [INFO] [stdout] test copy::test::test_GosperCombinationCellIter ... ok [INFO] [stdout] test copy::test::test_GosperCombinationIteratorUnsafe ... ok [INFO] [stdout] test copy::test::test_HeapPermutation ... ok [INFO] [stdout] test copy::test::test_HeapPermutationIntoIterator ... ok [INFO] [stdout] test copy::test::test_HeapPermutationIterator ... ok [INFO] [stdout] test copy::test::test_HeapPermutationRefIterator ... ok [INFO] [stdout] test copy::test::test_KPermutation_into_Cell ... ok [INFO] [stdout] test copy::test::test_KPermutation_into_Ref_trait ... ok [INFO] [stdout] test copy::test::test_KPermutation_into_Ref ... ok [INFO] [stdout] test copy::test::test_HeapPermutationCellIterIterator ... ok [INFO] [stdout] test copy::test::test_KPermutation_into_cell_trait ... ok [INFO] [stdout] test copy::test::test_HeapPermutation_reset ... ok [INFO] [stdout] test copy::test::test_KPermutation_trait ... ok [INFO] [stdout] test copy::test::test_SelfCartesianProduct ... ok [INFO] [stdout] test copy::test::test_XPermutationIterator_mt ... ignored [INFO] [stdout] test copy::test::test_XPermutationRefIter ... ok [INFO] [stdout] test copy::test::test_cartesian_product ... ok [INFO] [stdout] test copy::test::test_cartesian_product_shared_result_fn ... ok [INFO] [stdout] test copy::test::test_combination_cell_fn ... ok [INFO] [stdout] test copy::test::test_combination_trait ... ok [INFO] [stdout] test copy::test::test_combination_trait_share ... ok [INFO] [stdout] test copy::test::test_CartesianProduct_mimic_iterator ... ok [INFO] [stdout] test copy::test::test_combination_trait_ptr ... ok [INFO] [stdout] test copy::test::test_get_cartesian_for ... ok [INFO] [stdout] test copy::test::test_SelfCartesianProduct_cell ... ok [INFO] [stdout] test copy::test::test_SelfCartesianProduct_ref ... ok [INFO] [stdout] test copy::test::test_get_permutation_for ... ok [INFO] [stdout] test copy::test::test_XPermutationCellIter ... ok [INFO] [stdout] test copy::test::test_XPermutationIterator ... ok [INFO] [stdout] test copy::test::test_k_permutation ... ok [INFO] [stdout] test copy::test::test_combination_fn ... ok [INFO] [stdout] test copy::test::test_GosperCombinationIteratorAlike_reset ... ok [INFO] [stdout] test copy::test::test_permutation_trait_cell ... ok [INFO] [stdout] test copy::test::test_permutation_trait_ref ... ok [INFO] [stdout] test copy::test::test_permutation_trait ... ok [INFO] [stdout] test copy::test::test_k_permutation_ref_single_term ... ok [INFO] [stdout] test copy::test::test_k_permutation_primitive ... ok [INFO] [stdout] test copy::test::test_shared_KPermutation_result ... ok [INFO] [stdout] test copy::test::test_self_cartesian_product ... ok [INFO] [stdout] test copy::test::test_self_cartesian_product_shared_result_fn ... ok [INFO] [stdout] test copy::test::test_shared_k_permutation_result_fn ... ok [INFO] [stdout] test copy::test::test_shared_combination_result_iterator_alike ... ok [INFO] [stdout] test copy::test::test_unsafe_cartesian_product ... ok [INFO] [stdout] test copy::test::test_shared_combination_result_fn ... ok [INFO] [stdout] test copy::test::test_share_CartesianProductIterator_result_to_thread ... ok [INFO] [stdout] test copy::test::test_unsafe_combination_fn ... ok [INFO] [stdout] test copy::test::test_unsafe_cartesian_product_shared_result ... ok [INFO] [stdout] test copy::test::test_unsafe_k_permutation ... ok [INFO] [stdout] test copy::test::test_unsafe_shared_combination_result_fn ... ok [INFO] [stdout] test copy::test::test_unsafe_x_permutation ... ok [INFO] [stdout] test copy::test::test_unsafe_shared_k_permutation_result_fn ... ok [INFO] [stdout] test copy::test::test_x_permutation ... ok [INFO] [stdout] test copy::test::test_x_permutation_restricted ... ok [INFO] [stdout] test test::bench_cart_fn ... ignored [INFO] [stdout] test test::bench_cart_iter ... ignored [INFO] [stdout] test test::bench_heap_fn ... ignored [INFO] [stdout] test test::bench_heap_iter ... ignored [INFO] [stdout] test test::bench_k_perm_fn ... ignored [INFO] [stdout] test test::bench_k_perm_iter ... ignored [INFO] [stdout] test test::bench_x_perm_mt_fn ... ignored [INFO] [stdout] test test::bench_x_perm_st_fn ... ignored [INFO] [stdout] test test::compare_gosper_custom_cell_iter ... ignored [INFO] [stdout] test test::compare_gosper_custom_fn ... ignored [INFO] [stdout] test test::compare_gosper_custom_iter ... ignored [INFO] [stdout] test test::compare_gosper_custom_ref_iter ... ignored [INFO] [stdout] test copy::test::test_x_permutation_sync ... ok [INFO] [stdout] test copy::test::test_x_permutation_cell ... ok [INFO] [stdout] test copy::test::test_CartesianProduct_mimic_iterator_2 ... ok [INFO] [stdout] test copy::test::test_KPermutationIterator ... ok [INFO] [stdout] test copy::test::test_KPermutation_single_term ... ok [INFO] [stdout] test copy::test::test_shared_CartesianProduct_result_sync ... ok [INFO] [stdout] test test::test_CartesianProduct ... ok [INFO] [stdout] test test::test_CartesianProduct_mimic_iterator ... ok [INFO] [stdout] test test::test_CartesianProduct_ptr_trait ... ok [INFO] [stdout] test test::test_CartesianProduct_mimic_iterator_2 ... ok [INFO] [stdout] test test::test_CartesianProduct_reset ... ok [INFO] [stdout] test test::test_CartesianProduct_iterator_alike_shared_result ... ok [INFO] [stdout] test test::test_CartesianProduct_shared_trait ... ok [INFO] [stdout] test test::test_GosperCombinationCellIter ... ok [INFO] [stdout] test test::test_GosperCombinationIterator ... ok [INFO] [stdout] test test::test_HeapPermutation ... ok [INFO] [stdout] test test::test_HeapPermutationIntoIterator ... ok [INFO] [stdout] test test::test_CartesianProduct_trait ... ok [INFO] [stdout] test test::test_HeapPermutationCellIterIterator ... ok [INFO] [stdout] test test::test_GosperCombinationIteratorAlike_reset ... ok [INFO] [stdout] test copy::test::test_tldr_case ... ok [INFO] [stdout] test copy::test::test_unsafe_self_cartesian_product_shared_result ... ok [INFO] [stdout] test test::test_HeapPermutationRefIterator ... ok [INFO] [stdout] test test::test_GosperCombinationIteratorUnsafe ... ok [INFO] [stdout] test test::test_HeapPermutation_reset ... ok [INFO] [stdout] test test::test_KPermutation_into_Ref_trait ... ok [INFO] [stdout] test test::test_KPermutation_single ... ok [INFO] [stdout] test test::test_KPermutation_trait ... ok [INFO] [stdout] test test::test_LargeCombinationIterator ... ok [INFO] [stdout] test test::test_LargeCombinationIterator_single ... ok [INFO] [stdout] test test::test_SelfCartesianProduct ... ok [INFO] [stdout] test test::test_SelfCartesianProduct_cell ... ok [INFO] [stdout] test test::test_SelfCartesianProduct_ref ... ok [INFO] [stdout] test test::test_XPermutationCellIter ... ok [INFO] [stdout] test test::test_XPermutationIterator ... ok [INFO] [stdout] test test::test_XPermutationIterator_mt ... ignored [INFO] [stdout] test test::test_KPermutationIterator ... ok [INFO] [stdout] test test::test_KPermutationIteratorBound ... ok [INFO] [stdout] test test::test_KPermutation_into_Cell ... ok [INFO] [stdout] test test::test_cartesian_product ... ok [INFO] [stdout] test test::test_KPermutation_into_Ref ... ok [INFO] [stdout] test test::test_XPermutationRefIter ... ok [INFO] [stdout] test test::test_cartesian_product_shared_result_fn ... ok [INFO] [stdout] test test::test_case_15 ... ok [INFO] [stdout] test test::test_combination_cell_fn ... ok [INFO] [stdout] test test::test_combination_fn ... ok [INFO] [stdout] test test::test_case_16 ... ok [INFO] [stdout] test test::test_combination_fn_bound ... ok [INFO] [stdout] test test::test_combination_fn_single ... ok [INFO] [stdout] test test::test_combination_trait ... ok [INFO] [stdout] test test::test_combination_trait_share ... ok [INFO] [stdout] test test::test_combination_trait_ptr ... ok [INFO] [stdout] test test::test_get_cartesian_for ... ok [INFO] [stdout] test test::test_get_permutation_for ... ok [INFO] [stdout] test copy::test::test_heap_permutation_6 ... ok [INFO] [stdout] test copy::test::test_shared_cartesian_product_result_sync_fn ... ok [INFO] [stdout] test test::test_large_combination_cell_fn ... ok [INFO] [stdout] test test::test_k_permutation_k_1 ... ok [INFO] [stdout] test test::test_k_permutation_primitive ... ok [INFO] [stdout] test test::test_large_combination_fn_k_1 ... ok [INFO] [stdout] test test::test_large_combination_fn ... ok [INFO] [stdout] test test::test_k_permutation_fn ... ok [INFO] [stdout] test test::test_large_combination_fn_d_eq_k ... ok [INFO] [stdout] test test::test_large_k_permutation ... ignored [INFO] [stdout] test test::test_lex_family ... ignored [INFO] [stdout] test test::test_large_combination_sync_fn ... ok [INFO] [stdout] test copy::test::test_share_result_KPermutation_iterator_sync ... ok [INFO] [stdout] test test::test_heap_permutation_6 ... ok [INFO] [stdout] test test::test_share_CartesianProductIterator_result_to_thread ... ok [INFO] [stdout] test test::test_permutation_trait ... ok [INFO] [stdout] test test::test_permutation_trait_cell ... ok [INFO] [stdout] test test::test_shared_KPermutation_result ... ok [INFO] [stdout] test test::test_permutation_trait_ref ... ok [INFO] [stdout] test test::test_self_cartesian_product_shared_result_fn ... ok [INFO] [stdout] test test::test_self_cartesian_product ... ok [INFO] [stdout] test test::test_share_result_KPermutation_iterator_sync ... ok [INFO] [stdout] test test::test_shared_combination_result_iterator_alike ... ok [INFO] [stdout] test test::test_shared_CartesianProduct_result_sync ... ok [INFO] [stdout] test test::test_share_result_CombinationIterator_with_thread_fn ... ok [INFO] [stdout] test test::test_KPermutation_into_cell_trait ... ok [INFO] [stdout] test test::test_unsafe_cartesian_product ... ok [INFO] [stdout] test test::test_shared_k_permutation_result_fn ... ok [INFO] [stdout] test test::test_unsafe_combination_fn ... ok [INFO] [stdout] test test::test_unsafe_k_permutation ... ok [INFO] [stdout] test test::test_shared_combination_result_fn ... ok [INFO] [stdout] test test::test_unsafe_self_cartesian_product_shared_result ... ok [INFO] [stdout] test test::test_shared_cartesian_product_result_sync_fn ... ok [INFO] [stdout] test test::test_tldr_case ... ok [INFO] [stdout] test test::test_unsafe_cartesian_product_shared_result ... ok [INFO] [stdout] test test::test_unsafe_shared_combination_result_fn ... ok [INFO] [stdout] test test::test_unsafe_shared_k_permutation_result_fn ... ok [INFO] [stdout] test test::test_shared_combination_result_sync_fn ... ok [INFO] [stdout] test test::test_unsafe_x_permutation ... ok [INFO] [stdout] test test::test_x_permutation ... ok [INFO] [stdout] test test::test_x_permutation_cell ... ok [INFO] [stdout] test test::test_x_permutation_sync ... ok [INFO] [stdout] test test::test_x_permutation_restricted ... ok [INFO] [stdout] test test::test_k_permutation_empty_dom - should panic ... ok [INFO] [stdout] test test::test_large_combination_fn_k_0 - should panic ... ok [INFO] [stdout] test test::test_self_cartesian_product_zero - should panic ... ok [INFO] [stdout] test test::test_shared_k_permutation_sync_fn ... ok [INFO] [stdout] test copy::test::test_share_result_CombinationIterator_with_thread_fn ... ok [INFO] [stdout] test copy::test::test_shared_combination_result_sync_fn ... ok [INFO] [stdout] test copy::test::test_heap_permutation_10 ... ok [INFO] [stdout] test test::test_heap_permutation_10 ... ok [INFO] [stdout] test copy::test::test_shared_k_permutation_sync_fn ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 162 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 2.08s [INFO] [stdout] [INFO] [stderr] Doc-tests permutator [INFO] [stdout] [INFO] [stdout] running 91 tests [INFO] [stdout] test src/copy/mod.rs - copy::Combination (line 4794) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::CartesianProductCellIter (line 2293) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::LargeCombinationRefIter (line 3258) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::LargeCombinationIterator (line 3026) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::GosperCombinationCellIter (line 2717) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::GosperCombinationIterator (line 2574) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::CartesianProduct (line 4606) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::KPermutationIterator (line 3363) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::Permutation (line 4900) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::GosperCombinationRefIter (line 2883) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::LargeCombinationCellIter (line 3131) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::CartesianProductRefIter (line 2427) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::CartesianProductIterator (line 2180) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::KPermutationCellIter (line 3490) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::Permutation (line 4910) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::SelfCartesianProductRefIter (line 4000) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::CartesianProduct (line 4623) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::KPermutationRefIter (line 3639) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::SelfCartesianProductCellIter (line 3877) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::combination_cell (line 1116) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::cartesian_product_cell (line 414) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::cartesian_product (line 256) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::get_permutation_size (line 117) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::combination (line 960) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::get_permutation_for (line 142) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::get_cartesian_for (line 77) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::k_permutation (line 1533) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::SelfCartesianProductIterator (line 3759) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::k_permutation_cell (line 1705) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::self_cartesian_product_cell (line 762) ... ok [INFO] [stdout] test src/lib.rs - (line 66) ... ok [INFO] [stdout] test src/lib.rs - (line 28) ... ok [INFO] [stdout] test src/lib.rs - (line 52) ... ok [INFO] [stdout] test src/lib.rs - CartesianProduct (line 5802) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::self_cartesian_product (line 605) ... ok [INFO] [stdout] test src/lib.rs - (line 40) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::unsafe_self_cartesian_product (line 667) ... ok [INFO] [stdout] test src/lib.rs - (line 88) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::cartesian_product_sync (line 507) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::unsafe_combination (line 1019) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::unsafe_k_permutation (line 1599) ... ok [INFO] [stdout] test src/lib.rs - CartesianProduct (line 5819) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::unsafe_cartesian_product (line 321) ... ok [INFO] [stdout] test src/lib.rs - CartesianProductRefIter (line 2964) ... ok [INFO] [stdout] test src/lib.rs - HeapPermutationCellIter (line 4192) ... ok [INFO] [stdout] test src/lib.rs - CartesianProductCellIter (line 2830) ... ok [INFO] [stdout] test src/lib.rs - GosperCombinationCellIter (line 3283) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::k_permutation_sync (line 1810) ... ok [INFO] [stdout] test src/lib.rs - GosperCombinationRefIter (line 3469) ... ok [INFO] [stdout] test src/lib.rs - GosperCombinationIterator (line 3136) ... ok [INFO] [stdout] test src/lib.rs - CartesianProductIterator (line 2717) ... ok [INFO] [stdout] test src/lib.rs - Combination (line 5983) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::self_cartesian_product_sync (line 857) ... ok [INFO] [stdout] test src/copy/mod.rs - copy::combination_sync (line 1220) ... ok [INFO] [stdout] test src/lib.rs - HeapPermutationRefIter (line 4277) ... ok [INFO] [stdout] test src/lib.rs - LargeCombinationIterator (line 3727) ... ok [INFO] [stdout] test src/lib.rs - KPermutationCellIter (line 4577) ... ok [INFO] [stdout] test src/lib.rs - LargeCombinationCellIter (line 3831) ... ok [INFO] [stdout] test src/lib.rs - SelfCartesianProductCellIter (line 5552) ... ok [INFO] [stdout] test src/lib.rs - LargeCombinationRefIter (line 3957) ... ok [INFO] [stdout] test src/lib.rs - SelfCartesianProductRefIter (line 5675) ... ok [INFO] [stdout] test src/lib.rs - KPermutationIterator (line 4449) ... ok [INFO] [stdout] test src/lib.rs - combination (line 1088) ... ok [INFO] [stdout] test src/lib.rs - SelfCartesianProductIterator (line 5434) ... ok [INFO] [stdout] test src/lib.rs - KPermutationRefIter (line 4726) ... ok [INFO] [stdout] test src/lib.rs - Permutation (line 6090) ... ok [INFO] [stdout] test src/lib.rs - cartesian_product (line 387) ... ok [INFO] [stdout] test src/lib.rs - divide_factorial (line 6361) ... ok [INFO] [stdout] test src/lib.rs - get_permutation_size (line 200) ... ok [INFO] [stdout] test src/lib.rs - Permutation (line 6100) ... ok [INFO] [stdout] test src/lib.rs - cartesian_product_cell (line 545) ... ok [INFO] [stdout] test src/lib.rs - get_cartesian_size (line 137) ... ok [INFO] [stdout] test src/lib.rs - get_permutation_for (line 225) ... ok [INFO] [stdout] test src/lib.rs - combination_cell (line 1244) ... ok [INFO] [stdout] test src/lib.rs - get_cartesian_for (line 160) ... ok [INFO] [stdout] test src/lib.rs - k_permutation (line 1878) ... ok [INFO] [stdout] test src/lib.rs - heap_permutation_cell (line 1759) ... ok [INFO] [stdout] test src/lib.rs - multiply_factorial (line 6386) ... ok [INFO] [stdout] test src/lib.rs - self_cartesian_product (line 729) ... ok [INFO] [stdout] test src/lib.rs - self_cartesian_product_cell (line 890) ... ok [INFO] [stdout] test src/lib.rs - unsafe_cartesian_product (line 452) ... ok [INFO] [stdout] test src/lib.rs - heap_permutation (line 1710) ... ok [INFO] [stdout] test src/lib.rs - k_permutation_cell (line 2057) ... ok [INFO] [stdout] test src/lib.rs - cartesian_product_sync (line 638) ... ok [INFO] [stdout] test src/lib.rs - unsafe_k_permutation (line 1950) ... ok [INFO] [stdout] test src/lib.rs - unsafe_combination (line 1147) ... ok [INFO] [stdout] test src/lib.rs - unsafe_self_cartesian_product (line 795) ... ok [INFO] [stdout] test src/lib.rs - k_permutation_sync (line 2163) ... ok [INFO] [stdout] test src/lib.rs - combination_sync (line 1348) ... ok [INFO] [stdout] test src/lib.rs - self_cartesian_product_sync (line 985) ... ok [INFO] [stdout] test src/lib.rs - HeapPermutationIterator (line 4089) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 91 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.95s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "da42a7751fa6c88e62fe585f7071dca565e019d8023e4371838269c6d31861b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da42a7751fa6c88e62fe585f7071dca565e019d8023e4371838269c6d31861b3", kill_on_drop: false }` [INFO] [stdout] da42a7751fa6c88e62fe585f7071dca565e019d8023e4371838269c6d31861b3