mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-26 20:09:19 +00:00
Store binding mode for each instance independently
This commit is contained in:
parent
7c11399b6b
commit
8b82ea4f51
8 changed files with 53 additions and 9 deletions
|
@ -236,9 +236,9 @@ impl SourceAnalyzer {
|
|||
_db: &dyn HirDatabase,
|
||||
pat: &ast::IdentPat,
|
||||
) -> Option<BindingMode> {
|
||||
let binding_id = self.binding_id_of_pat(pat)?;
|
||||
let id = self.pat_id(&pat.clone().into())?;
|
||||
let infer = self.infer.as_ref()?;
|
||||
infer.binding_modes.get(binding_id).map(|bm| match bm {
|
||||
infer.binding_modes.get(id).map(|bm| match bm {
|
||||
hir_ty::BindingMode::Move => BindingMode::Move,
|
||||
hir_ty::BindingMode::Ref(hir_ty::Mutability::Mut) => BindingMode::Ref(Mutability::Mut),
|
||||
hir_ty::BindingMode::Ref(hir_ty::Mutability::Not) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue