error[E0507]: cannot move out of `*inbounds` which is behind a shared reference --> $DIR/issue-102389.rs:4:11 | LL | array[*inbounds as usize] | ^^^^^^^^^ move occurs because `*inbounds` has type `Enum`, which does not implement the `Copy` trait | note: if `Enum` implemented `Clone`, you could clone the value --> $DIR/issue-102389.rs:1:1 | LL | enum Enum { A, B, C } | ^^^^^^^^^ consider implementing `Clone` for this type ... LL | array[*inbounds as usize] | --------- you could clone this value error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0507`.