error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable --> $DIR/issue-61452.rs:4:5 | LL | x.take(); | ^ cannot borrow as mutable | help: consider changing this to be mutable | LL | pub async fn f(mut x: Option) { | +++ error[E0384]: cannot assign twice to immutable variable `x` --> $DIR/issue-61452.rs:9:5 | LL | pub async fn g(x: usize) { | - first assignment to `x` LL | x += 1; | ^^^^^^ cannot assign twice to immutable variable | help: consider making this binding mutable | LL | pub async fn g(mut x: usize) { | +++ error: aborting due to 2 previous errors Some errors have detailed explanations: E0384, E0596. For more information about an error, try `rustc --explain E0384`.