[INFO] cloning repository https://github.com/wrsturgeon/einsum [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wrsturgeon/einsum" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwrsturgeon%2Feinsum", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwrsturgeon%2Feinsum'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] af8d860e93521e79beede32cbd07945418a107b7 [INFO] checking wrsturgeon/einsum against try#446cb600aa4837dd6c513f14fa0d25a909b177d7 for pr-149195 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwrsturgeon%2Feinsum" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wrsturgeon/einsum [INFO] finished tweaking git repo https://github.com/wrsturgeon/einsum [INFO] tweaked toml for git repo https://github.com/wrsturgeon/einsum written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wrsturgeon/einsum on toolchain 446cb600aa4837dd6c513f14fa0d25a909b177d7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wrsturgeon/einsum already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 71c191c3c5e1fdd945574ebbae85e6fddcdae329267e0e07fdb1be0653931e99 [INFO] running `Command { std: "docker" "start" "-a" "71c191c3c5e1fdd945574ebbae85e6fddcdae329267e0e07fdb1be0653931e99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "71c191c3c5e1fdd945574ebbae85e6fddcdae329267e0e07fdb1be0653931e99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71c191c3c5e1fdd945574ebbae85e6fddcdae329267e0e07fdb1be0653931e99", kill_on_drop: false }` [INFO] [stdout] 71c191c3c5e1fdd945574ebbae85e6fddcdae329267e0e07fdb1be0653931e99 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 85e440e858e9497a4ad662be6492d1de2228932212800852bc9f8e4a09fe84bb [INFO] running `Command { std: "docker" "start" "-a" "85e440e858e9497a4ad662be6492d1de2228932212800852bc9f8e4a09fe84bb", kill_on_drop: false }` [INFO] [stderr] Checking einsum v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/own.rs:47:3 [INFO] [stdout] | [INFO] [stdout] 47 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/own.rs:53:3 [INFO] [stdout] | [INFO] [stdout] 53 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/shape.rs:3:3 [INFO] [stdout] | [INFO] [stdout] 3 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/own.rs:47:3 [INFO] [stdout] | [INFO] [stdout] 47 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/own.rs:53:3 [INFO] [stdout] | [INFO] [stdout] 53 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `const_trait` in this scope [INFO] [stdout] --> src/shape.rs:3:3 [INFO] [stdout] | [INFO] [stdout] 3 | #[const_trait] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Data, const N: usize>(O::Data); [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MutableOwnership: const Ownership { [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl, const N: usize> Data { [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Ownership` which is not `const` [INFO] [stdout] --> src/own.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | impl const Ownership for Own { [INFO] [stdout] | ^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `MutableOwnership` which is not `const` [INFO] [stdout] --> src/own.rs:70:15 [INFO] [stdout] | [INFO] [stdout] 70 | impl const MutableOwnership for Own { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `MutableOwnership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Ownership` which is not `const` [INFO] [stdout] --> src/own.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | impl<'data, T: 'data> const Ownership for Ref<'data> { [INFO] [stdout] | ^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Ownership` which is not `const` [INFO] [stdout] --> src/own.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | impl<'data, T: 'data> const Ownership for Mut<'data> { [INFO] [stdout] | ^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `MutableOwnership` which is not `const` [INFO] [stdout] --> src/own.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | impl<'data, T: 'data> const MutableOwnership for Mut<'data> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `MutableOwnership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Tensor [INFO] [stdout] | ^^^^^ can't be applied to `Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/shape.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl, const N: usize> Data { [INFO] [stdout] | ^^^^^ can't be applied to `MutableOwnership` [INFO] [stdout] | [INFO] [stdout] help: mark `MutableOwnership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Data, const N: usize>(O::Data); [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MutableOwnership: const Ownership { [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl, const N: usize> Data { [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/shape.rs:32:39 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Cons { [INFO] [stdout] | ^^^^^ can't be applied to `Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Ownership` which is not `const` [INFO] [stdout] --> src/own.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | impl const Ownership for Own { [INFO] [stdout] | ^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `MutableOwnership` which is not `const` [INFO] [stdout] --> src/own.rs:70:15 [INFO] [stdout] | [INFO] [stdout] 70 | impl const MutableOwnership for Own { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `MutableOwnership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Ownership` which is not `const` [INFO] [stdout] --> src/own.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | impl<'data, T: 'data> const Ownership for Ref<'data> { [INFO] [stdout] | ^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Ownership` which is not `const` [INFO] [stdout] --> src/own.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | impl<'data, T: 'data> const Ownership for Mut<'data> { [INFO] [stdout] | ^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `MutableOwnership` which is not `const` [INFO] [stdout] --> src/own.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | impl<'data, T: 'data> const MutableOwnership for Mut<'data> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `MutableOwnership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Tensor [INFO] [stdout] | ^^^^^ can't be applied to `shape::Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `shape::Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/shape.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/own.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl, const N: usize> Data { [INFO] [stdout] | ^^^^^ can't be applied to `MutableOwnership` [INFO] [stdout] | [INFO] [stdout] help: mark `MutableOwnership` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Shape` which is not `const` [INFO] [stdout] --> src/shape.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl const Shape for Nil { [INFO] [stdout] | ^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Shape` which is not `const` [INFO] [stdout] --> src/shape.rs:37:47 [INFO] [stdout] | [INFO] [stdout] 37 | impl const Shape for Cons { [INFO] [stdout] | ^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/shape.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | impl Sealed for Cons {} [INFO] [stdout] | ^^^^^ can't be applied to `Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/shape.rs:37:28 [INFO] [stdout] | [INFO] [stdout] 37 | impl const Shape for Cons { [INFO] [stdout] | ^^^^^ can't be applied to `Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Tensor, S: const Shape> [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/own.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Tensor, S: const Shape> [INFO] [stdout] | ^^^^^ can't be applied to `Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/shape.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl, const N: usize, Tail: const Shape> Tensor> [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/own.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:32:54 [INFO] [stdout] | [INFO] [stdout] 32 | impl, const N: usize, Tail: const Shape> Tensor> [INFO] [stdout] | ^^^^^ can't be applied to `Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/shape.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/shape.rs:32:39 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Cons { [INFO] [stdout] | ^^^^^ can't be applied to `shape::Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `shape::Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Shape` which is not `const` [INFO] [stdout] --> src/shape.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl const Shape for Nil { [INFO] [stdout] | ^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const `impl` for trait `Shape` which is not `const` [INFO] [stdout] --> src/shape.rs:37:47 [INFO] [stdout] | [INFO] [stdout] 37 | impl const Shape for Cons { [INFO] [stdout] | ^^^^^ this trait is not `const` [INFO] [stdout] | [INFO] [stdout] = note: marking a trait with `const` ensures all default method bodies are `const` [INFO] [stdout] = note: adding a non-const method body in the future would be a breaking change [INFO] [stdout] help: mark `Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/shape.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | impl Sealed for Cons {} [INFO] [stdout] | ^^^^^ can't be applied to `shape::Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `shape::Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/shape.rs:37:28 [INFO] [stdout] | [INFO] [stdout] 37 | impl const Shape for Cons { [INFO] [stdout] | ^^^^^ can't be applied to `shape::Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `shape::Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Tensor, S: const Shape> [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/own.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Tensor, S: const Shape> [INFO] [stdout] | ^^^^^ can't be applied to `shape::Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `shape::Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/shape.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl, const N: usize, Tail: const Shape> Tensor> [INFO] [stdout] | ^^^^^ can't be applied to `Ownership` [INFO] [stdout] | [INFO] [stdout] help: mark `Ownership` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/own.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `const` can only be applied to `const` traits [INFO] [stdout] --> src/tensor.rs:32:54 [INFO] [stdout] | [INFO] [stdout] 32 | impl, const N: usize, Tail: const Shape> Tensor> [INFO] [stdout] | ^^^^^ can't be applied to `shape::Shape` [INFO] [stdout] | [INFO] [stdout] help: mark `shape::Shape` as `const` to allow it to have `const` implementations [INFO] [stdout] --> src/shape.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub const trait Shape: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const associated function `>::view::` in constant functions [INFO] [stdout] --> src/own.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | O::view(&self.0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: associated function `view` is not const because trait `Ownership` is not const [INFO] [stdout] --> src/own.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | pub trait Ownership: Sealed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 49 | type Data; [INFO] [stdout] 50 | fn view(data: &Self::Data) -> &[T; N]; [INFO] [stdout] | --------------------------------------------------------- this associated function is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Ownership` const [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const associated function `>::view_mut::` in constant functions [INFO] [stdout] --> src/own.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | O::view_mut(&mut self.0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: associated function `view_mut` is not const because trait `MutableOwnership` is not const [INFO] [stdout] --> src/own.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MutableOwnership: const Ownership { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 55 | fn view_mut(data: &mut Self::Data) -> &mut [T; N]; [INFO] [stdout] | --------------------------------------------------------------------- this associated function is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `MutableOwnership` const [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0015`. [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const associated function `>::view::` in constant functions [INFO] [stdout] --> src/own.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | O::view(&self.0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: associated function `view` is not const because trait `Ownership` is not const [INFO] [stdout] --> src/own.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | pub trait Ownership: Sealed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 49 | type Data; [INFO] [stdout] 50 | fn view(data: &Self::Data) -> &[T; N]; [INFO] [stdout] | --------------------------------------------------------- this associated function is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `Ownership` const [INFO] [stdout] | [INFO] [stdout] 48 | pub const trait Ownership: Sealed { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const associated function `>::view_mut::` in constant functions [INFO] [stdout] --> src/own.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | O::view_mut(&mut self.0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: associated function `view_mut` is not const because trait `MutableOwnership` is not const [INFO] [stdout] --> src/own.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MutableOwnership: const Ownership { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this trait is not const [INFO] [stdout] 55 | fn view_mut(data: &mut Self::Data) -> &mut [T; N]; [INFO] [stdout] | --------------------------------------------------------------------- this associated function is not const [INFO] [stdout] = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] help: consider making trait `MutableOwnership` const [INFO] [stdout] | [INFO] [stdout] 54 | pub const trait MutableOwnership: const Ownership { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `einsum` (lib) due to 24 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] For more information about this error, try `rustc --explain E0015`. [INFO] [stdout] [INFO] [stderr] error: could not compile `einsum` (lib test) due to 24 previous errors [INFO] running `Command { std: "docker" "inspect" "85e440e858e9497a4ad662be6492d1de2228932212800852bc9f8e4a09fe84bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85e440e858e9497a4ad662be6492d1de2228932212800852bc9f8e4a09fe84bb", kill_on_drop: false }` [INFO] [stdout] 85e440e858e9497a4ad662be6492d1de2228932212800852bc9f8e4a09fe84bb