Error map

E0384: cannot assign twice to immutable variable Rust: error[E0384]: cannot assign twice to immutable variable `x`

Rust · layer 4, Application & API

Open the full error page →

Centre: this error. First ring: errors it is linked with (7). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

E0384: cannot assign twice to immutable variable — Rust: error[E0384]: cannot assign twice to immutable variable `x` (Rust)E0384: cann…E0502 — Rust: error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable (Rust)E0502feature edition2024 is required / Cargo.lock version too new — Cargo: error: failed to parse manifest — feature `edition2024` is required / lock file version 4 requires `-Znext-lockfile-bump` (Rust)feature edition2024…Blocking waiting for file lock on package cache / build directory — Cargo: Blocking waiting for file lock on package cache / on build directory (Rust)Blocking waiting fo…E0596: cannot borrow as mutable, as it is not declared as mutable — Rust: error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable (Rust)E0596: cannot borro…E0381: used binding isn't initialized — Rust: error[E0381]: used binding `x` is possibly-uninitialized (Rust)E0381: used binding…cargo: failed to select a version for the requirement — Cargo: error: failed to select a version for the requirement `serde = "^2.0"` — candidate versions found which didn't match: 1.0.197 (Rust)cargo: failed to se…cargo: failed to get from registry (spurious network error) — Cargo: warning: spurious network error (2 tries remaining): [35] SSL connect error / error: failed to download from `https://index.crates.io/...` (Rust)cargo: failed to ge…Cannot access a disposed context instance — ObjectDisposedException: Cannot access a disposed context instance (.NET)Cannot access a dis…E0382 — Rust: error[E0382]: borrow of moved value: `x` (Rust)E0382E0308 — Rust: error[E0308]: mismatched types — expected `X`, found `Y` (Rust)E0308E0507: cannot move out of a shared reference / index — Rust: error[E0507]: cannot move out of `self.name` which is behind a shared reference (Rust)E0507: cannot move …E0373: closure may outlive the current function — Rust: error[E0373]: closure may outlive the current function, but it borrows `v`, which is owned by the current function (Rust)E0373: closure may …E0425: cannot find value in this scope — Rust: error[E0425]: cannot find value `x` in this scope (Rust)E0425: cannot find …E0499: cannot borrow as mutable more than once at a time — Rust: error[E0499]: cannot borrow `v` as mutable more than once at a time (Rust)E0499: cannot borro…E0505: cannot move out of value because it is borrowed — Rust: error[E0505]: cannot move out of `s` because it is borrowed (Rust)E0505: cannot move …E0106: missing lifetime specifier — Rust: error[E0106]: missing lifetime specifier — this function's return type contains a borrowed value, but the signature does not say which one of `x`'s 2 lifetimes it is borrowed from (Rust)E0106: missing life…E0597: borrowed value does not live long enough — Rust: error[E0597]: `x` does not live long enough — borrowed value does not live long enough (Rust)E0597: borrowed val…E0004: non-exhaustive patterns — Rust: error[E0004]: non-exhaustive patterns: `None` not covered (Rust)E0004: non-exhausti…held broken packages — Unmet dependencies / E: Unable to correct problems, you have held broken packages (Linux)held broken packagesE0277: the trait bound is not satisfied — Rust: error[E0277]: the trait bound `Foo: Display` is not satisfied / `Rc<RefCell<T>>` cannot be sent between threads safely (Rust)E0277: the trait bo…E0432: unresolved import — Rust: error[E0432]: unresolved import `crate::utils` — maybe a missing crate `utils`? (Rust)E0432: unresolved i…ssh port 22 Connection refused — ssh: connect to host x port 22: Connection refused (Linux)ssh port 22 Connect…ssh port 22 Connection timed out — ssh: connect to host x port 22: Connection timed out (Linux)ssh port 22 Connect…Temporary failure in name resolution — ping: google.com: Temporary failure in name resolution (Linux)Temporary failure i…

Directly related (7)

E0502Rust

Rust: error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable

You tried to mutate a value while an immutable reference to it is still in use.

feature edition2024 is required / Cargo.lock version too newRust

Cargo: error: failed to parse manifest — feature `edition2024` is required / lock file version 4 requires `-Znext-lockfile-bump`

Your Cargo is older than the manifest or lockfile requires.

Blocking waiting for file lock on package cache / build directoryRust

Cargo: Blocking waiting for file lock on package cache / on build directory

Another cargo process (or rust-analyzer/IDE) holds the lock, so this command waits.

E0596: cannot borrow as mutable, as it is not declared as mutableRust

Rust: error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable

You called a `&mut` method (or took `&mut`) on a binding/reference that isn't mutable.

E0381: used binding isn't initializedRust

Rust: error[E0381]: used binding `x` is possibly-uninitialized

A variable might be read before every code path assigned it.

cargo: failed to select a version for the requirementRust

Cargo: error: failed to select a version for the requirement `serde = "^2.0"` — candidate versions found which didn't match: 1.0.197

Cargo can't find a version of a dependency satisfying the constraints you (or other crates) set.

cargo: failed to get from registry (spurious network error)Rust

Cargo: warning: spurious network error (2 tries remaining): [35] SSL connect error / error: failed to download from `https://index.crates.io/...`

Cargo couldn't reach crates.io (network, proxy, TLS or DNS issues).

Two steps away (17)

Cannot access a disposed context instance.NET

ObjectDisposedException: Cannot access a disposed context instance

Code used a DbContext after its scope ended — usually async void, fire-and-forget tasks, or capturing a scoped context in a singl…

E0382Rust

Rust: error[E0382]: borrow of moved value: `x`

A value was moved (ownership transferred) and then used again.

E0308Rust

Rust: error[E0308]: mismatched types — expected `X`, found `Y`

A value’s type doesn’t match what the context expects — common with &str vs String, Option/Result vs plain values, and integer ty…

E0507: cannot move out of a shared reference / indexRust

Rust: error[E0507]: cannot move out of `self.name` which is behind a shared reference

You tried to take ownership of a value through a reference (or from a Vec/Option behind `&`).

E0373: closure may outlive the current functionRust

Rust: error[E0373]: closure may outlive the current function, but it borrows `v`, which is owned by the current function

A closure borrowing a local is passed somewhere that may outlive it (thread::spawn, tokio::spawn, returned closures).

E0425: cannot find value in this scopeRust

Rust: error[E0425]: cannot find value `x` in this scope

The identifier (variable, function, constant) isn't defined where it's used.

E0499: cannot borrow as mutable more than once at a timeRust

Rust: error[E0499]: cannot borrow `v` as mutable more than once at a time

Two mutable references to the same value were alive at once, which Rust forbids.

E0505: cannot move out of value because it is borrowedRust

Rust: error[E0505]: cannot move out of `s` because it is borrowed

You moved a value while a reference to it was still in use.

E0106: missing lifetime specifierRust

Rust: error[E0106]: missing lifetime specifier — this function's return type contains a borrowed value, but the signature does not say which one of `x`'s 2 lifetimes it is borrowed from

The compiler can't infer which input reference the returned/stored reference is tied to.

E0597: borrowed value does not live long enoughRust

Rust: error[E0597]: `x` does not live long enough — borrowed value does not live long enough

A reference outlives the value it points to (the value is dropped first).

E0004: non-exhaustive patternsRust

Rust: error[E0004]: non-exhaustive patterns: `None` not covered

A `match` doesn't handle every possible value of the type.

held broken packagesLinux

Unmet dependencies / E: Unable to correct problems, you have held broken packages

apt can’t find a set of package versions that satisfies all dependencies — usually mixed repositories or a package from another r…

E0277: the trait bound is not satisfiedRust

Rust: error[E0277]: the trait bound `Foo: Display` is not satisfied / `Rc<RefCell<T>>` cannot be sent between threads safely

A type doesn't implement a trait required by a function, macro or generic bound.

E0432: unresolved importRust

Rust: error[E0432]: unresolved import `crate::utils` — maybe a missing crate `utils`?

A `use` path doesn't point to an existing module, crate or item.

ssh port 22 Connection refusedLinux

ssh: connect to host x port 22: Connection refused

The server answered, but nothing is listening on the SSH port — sshd isn’t running, it uses another port, or a firewall actively…

ssh port 22 Connection timed outLinux

ssh: connect to host x port 22: Connection timed out

SSH packets get no reply — a firewall/security group drops them, the server is off, or the IP is wrong.

Temporary failure in name resolutionLinux

ping: google.com: Temporary failure in name resolution

The Linux host can’t resolve domain names — no working DNS server is configured or reachable.