trait Foo {}
impl Foo for isize {}
fn foo(_: [&dyn Foo; 2]) {}
fn main() {
let r = &1;
let _: [&dyn Foo; 2] = [r; 2];
foo([&1; 2]);
}
rustc compiles this but rust-analyzer diagnostics . says
at crate ra, file /tmp/ra/src/main.rs: Error RustcHardError("E0308") from LineCol { line: 7, col: 8 } to LineCol { line: 7, col: 15 }: expected [&(dyn Foo + 'static); 2], found [&i32; 2]
rustc compiles this but
rust-analyzer diagnostics .says