[Rust-update] Use the last Rust version and fix lifetime issues.
[TypingAST] Use RefCell because we'll modify the type during inlining, we need cells because if we copy expression type when inlining, every other types containing the modified type will not be updated.