Skip to content

Commit b29fa94

Browse files
committed
Remove mutability in ResolverAstLowering.
1 parent ffaf6f0 commit b29fa94

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

compiler/rustc_ast_lowering/src/lib.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ struct LoweringContext<'a, 'hir: 'a> {
159159
}
160160

161161
pub trait ResolverAstLowering {
162-
fn def_key(&mut self, id: DefId) -> DefKey;
162+
fn def_key(&self, id: DefId) -> DefKey;
163163

164164
fn def_span(&self, id: LocalDefId) -> Span;
165165

@@ -171,17 +171,15 @@ pub trait ResolverAstLowering {
171171
fn get_partial_res(&self, id: NodeId) -> Option<PartialRes>;
172172

173173
/// Obtains per-namespace resolutions for `use` statement with the given `NodeId`.
174-
fn get_import_res(&mut self, id: NodeId) -> PerNS<Option<Res<NodeId>>>;
174+
fn get_import_res(&self, id: NodeId) -> PerNS<Option<Res<NodeId>>>;
175175

176176
/// Obtains resolution for a label with the given `NodeId`.
177-
fn get_label_res(&mut self, id: NodeId) -> Option<NodeId>;
178-
179-
/// We must keep the set of definitions up to date as we add nodes that weren't in the AST.
180-
/// This should only return `None` during testing.
181-
fn definitions(&mut self) -> &mut Definitions;
177+
fn get_label_res(&self, id: NodeId) -> Option<NodeId>;
182178

183179
fn create_stable_hashing_context(&self) -> StableHashingContext<'_>;
184180

181+
fn definitions(&self) -> &Definitions;
182+
185183
fn lint_buffer(&mut self) -> &mut LintBuffer;
186184

187185
fn next_node_id(&mut self) -> NodeId;

compiler/rustc_resolve/src/lib.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,9 +1160,9 @@ impl<'a, 'b> DefIdTree for &'a Resolver<'b> {
11601160
/// This interface is used through the AST→HIR step, to embed full paths into the HIR. After that
11611161
/// the resolver is no longer needed as all the relevant information is inline.
11621162
impl ResolverAstLowering for Resolver<'_> {
1163-
fn def_key(&mut self, id: DefId) -> DefKey {
1163+
fn def_key(&self, id: DefId) -> DefKey {
11641164
if let Some(id) = id.as_local() {
1165-
self.definitions().def_key(id)
1165+
self.definitions.def_key(id)
11661166
} else {
11671167
self.cstore().def_key(id)
11681168
}
@@ -1189,22 +1189,22 @@ impl ResolverAstLowering for Resolver<'_> {
11891189
self.partial_res_map.get(&id).cloned()
11901190
}
11911191

1192-
fn get_import_res(&mut self, id: NodeId) -> PerNS<Option<Res>> {
1192+
fn get_import_res(&self, id: NodeId) -> PerNS<Option<Res>> {
11931193
self.import_res_map.get(&id).cloned().unwrap_or_default()
11941194
}
11951195

1196-
fn get_label_res(&mut self, id: NodeId) -> Option<NodeId> {
1196+
fn get_label_res(&self, id: NodeId) -> Option<NodeId> {
11971197
self.label_res_map.get(&id).cloned()
11981198
}
11991199

1200-
fn definitions(&mut self) -> &mut Definitions {
1201-
&mut self.definitions
1202-
}
1203-
12041200
fn create_stable_hashing_context(&self) -> StableHashingContext<'_> {
12051201
StableHashingContext::new(self.session, &self.definitions, self.crate_loader.cstore())
12061202
}
12071203

1204+
fn definitions(&self) -> &Definitions {
1205+
&self.definitions
1206+
}
1207+
12081208
fn lint_buffer(&mut self) -> &mut LintBuffer {
12091209
&mut self.lint_buffer
12101210
}

0 commit comments

Comments
 (0)