mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-22 18:15:07 +03:00
Auto merge of #36288 - nrc:save-var-value, r=eddyb
save-analysis: some refinement to the value string for variables
This commit is contained in:
@@ -982,15 +982,23 @@ fn process_var_decl(&mut self, p: &ast::Pat, value: String) {
|
||||
self.visit_pat(&p);
|
||||
|
||||
for &(id, ref p, immut, _) in &collector.collected_paths {
|
||||
let mut value = if immut == ast::Mutability::Immutable {
|
||||
value.to_string()
|
||||
} else {
|
||||
"<mutable>".to_string()
|
||||
let mut value = match immut {
|
||||
ast::Mutability::Immutable => value.to_string(),
|
||||
_ => String::new(),
|
||||
};
|
||||
let types = self.tcx.node_types();
|
||||
let typ = types.get(&id).map(|t| t.to_string()).unwrap_or(String::new());
|
||||
value.push_str(": ");
|
||||
value.push_str(&typ);
|
||||
let typ = match types.get(&id) {
|
||||
Some(typ) => {
|
||||
let typ = typ.to_string();
|
||||
if !value.is_empty() {
|
||||
value.push_str(": ");
|
||||
}
|
||||
value.push_str(&typ);
|
||||
typ
|
||||
}
|
||||
None => String::new(),
|
||||
};
|
||||
|
||||
// Get the span only for the name of the variable (I hope the path
|
||||
// is only ever a variable name, but who knows?).
|
||||
let sub_span = self.span.span_for_last_ident(p.span);
|
||||
|
||||
Reference in New Issue
Block a user