@@ -169,7 +169,7 @@ That is, they take an `&mut Providers` and mutate it in place. Usually
169
169
we use the formulation above just because it looks nice, but you could
170
170
as well do ` providers.type_of = type_of ` , which would be equivalent.
171
171
(Here, ` type_of ` would be a top-level function, defined as we saw
172
- before.) So, if we wanted to have add a provider for some other query,
172
+ before.) So, if we want to add a provider for some other query,
173
173
let's call it ` fubar ` , into the crate above, we might modify the ` provide() `
174
174
function like so:
175
175
@@ -185,7 +185,7 @@ pub fn provide(providers: &mut Providers) {
185
185
fn fubar <'cx , 'tcx >(tcx : TyCtxt <'cx , 'tcx >, key : DefId ) -> Fubar <'tcx > { .. }
186
186
```
187
187
188
- NB. Most of the ` rustc_* ` crate only provide ** local
188
+ NB. Most of the ` rustc_* ` crates only provide ** local
189
189
providers** . Almost all ** extern providers** wind up going through the
190
190
` rustc_metadata ` crate, which loads the information from the crate
191
191
metadata. But in some cases there are crates that provide queries for
@@ -201,7 +201,7 @@ Well, defining a query takes place in two steps:
201
201
1 . first, you have to specify the query name and arguments; and then,
202
202
2 . you have to supply query providers where needed.
203
203
204
- The specify the query name and arguments, you simply add an entry
204
+ To specify the query name and arguments, you simply add an entry
205
205
to the big macro invocation in ` mod.rs ` . This will probably have changed
206
206
by the time you read this README, but at present it looks something
207
207
like:
0 commit comments