diff options
| author | bors <bors@rust-lang.org> | 2020-01-17 21:43:23 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-01-17 21:43:23 +0000 |
| commit | d8dcb6345bfac471aadc1e674aef8ddc78ad5c1c (patch) | |
| tree | 40593f021b3514fe1148fa210ea167e4fe93918c /src/libstd/sys/unix/stack_overflow.rs | |
| parent | 689fca01c5a1eac2d240bf08aa728171a28f2285 (diff) | |
| parent | f05e40eb992fce44db348cfb1e8ecb4699e9cdd6 (diff) | |
| download | rust-d8dcb6345bfac471aadc1e674aef8ddc78ad5c1c.tar.gz rust-d8dcb6345bfac471aadc1e674aef8ddc78ad5c1c.zip | |
Auto merge of #67476 - mark-i-m:simplify-borrow_check-5, r=matthewjasper
Region naming refactoring [6/N]
Followup to #67474
EDIT: this PR is probably best read commit-by-commit...
The major changes in this PR include:
- moving many functions around to modules that better suit them. In particular, a lot of methods were moved from `borrow_check::diagnostics::region_errors` to `borrow_check::region_infer`, and `report_region_errors` was moved from `borrow_check` to `borrow_check::diagnostics::region_errors`.
- `borrow_check::diagnostics::{region_errors, region_name}` are now most comprised of methods on `MirBorrowckCtxt` instead of `RegionInferenceContext`, allowing us to get rid of the annoying `pub(in crate::borrow_check)` on most of the fields of the latter, along with a number of method arguments on many methods.
- I renamed `MirBorrowckCtxt.nonlexical_regioncx` to just `regioncx` because their is no lexical lifetimes any more, and the old name was annoyingly verbose, causing many lines to wrap unnecessarily.
- I got rid of `ErrorRegionNamingContext`. Region naming is implemented as inherent methods on `MirBorrowckCtxt`, so we just move the naming stuff into that struct.
The PR is rather large, but the commits are fairly self-contained (though they don't all compile). There was one minor output change to one test with `compare-mode=nll`, which I think is acceptable.
Between this PR and the last one, a net of 200 lines are removed, most of which was function parameters and context structs :tada:
Some samples:
```diff
- self.nonlexical_regioncx.free_region_constraint_info(
- &self.body,
- &self.local_names,
- &self.upvars,
- self.mir_def_id,
- self.infcx,
- borrow_region_vid,
- region,
- );
+ self.free_region_constraint_info(borrow_region_vid, region);
```
```diff
- .or_else(|| {
- self.give_name_if_anonymous_region_appears_in_yield_ty(
- infcx,
- body,
- *mir_def_id,
- fr,
- renctx,
- )
- });
+ .or_else(|| self.give_name_if_anonymous_region_appears_in_arguments(fr))
```
r? @matthewjasper
cc @eddyb
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions
