```rust fn test(foo: u32) -> u32 { let a = 10; foo * 6 } fn main() { let a = 7; let res = test(a); assert!(res == 42); } ``` Inlining results in: ```rust let a = 7; let res = { let a = 10; a * 6 // <-- incorrectly refers to the local }; assert!(res == 42); ``` which fails the assert. A correct inlining would be: ```rust let a = 7; let res = { let foo = a; let a = 10; foo * 6 }; assert!(res == 42); ``` **rust-analyzer version**: 0.0.0 (366bd7242 2022-06-12)