-
Notifications
You must be signed in to change notification settings - Fork 13.4k
[WIP] Region vid newtype index #45906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 1 commit
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
9713c92
fulfill: remove dead code
nikomatsakis f9e7819
move region constraints into inference context
nikomatsakis 1a246f4
convert EXTRA_REQUIREMENT_IN_IMPL into a hard error
nikomatsakis 9b3c97f
assert that we are consuming all of the region obligations
nikomatsakis 4130c68
extract `regionck_outlives` into a separate helper function
nikomatsakis 48b7d3c
move the `region_obligations` processing code into `InferCtxt`
nikomatsakis 0cf8668
refactor how we extract outlives bounds from trait definitions
nikomatsakis 1bf2052
do not invoke `required_region_bounds` in `region_obligations`
nikomatsakis 9b4dee0
regionck: only add implied bounds from root fn to `free_region_map`
nikomatsakis e634ffd
extract out the implied bounds code from `regionck`
nikomatsakis 182e4aa
rename mod `region_obligations` to `outlives::obligations`
nikomatsakis 0640faf
move the `OutlivesEnvironment` into `infer` so that `nll` can use it
nikomatsakis c1b6819
thread location info through mir typeck (but do not use)
nikomatsakis 545a554
apply rustfmt to `type_check`
nikomatsakis 80b2a29
modify MIR type-checker to process obligations as they are incurred
nikomatsakis 305b4b8
extract lexical region resolution into its own sub-module
nikomatsakis 3efc952
on_disk_cache: silence warnings
nikomatsakis b229a83
move region resolution to be a sibling of `region_inference`
nikomatsakis a1ae294
region_inference: tighten up `pub`, stop re-exporting enum variants
nikomatsakis 8e27848
region_inference: extract taint into a sub-module
nikomatsakis edc2a81
move `RegionResolutionError` into `lexical_region_resolve`
nikomatsakis f52cec8
extract storage of region values from `RegionVarBindings`
nikomatsakis 736cce7
region_inference: rustfmt
nikomatsakis 8f20adb
extract the `tcx` out from `RegionVarBindings`
nikomatsakis 347ad9a
move refcells out from `RegionVarBindings` and up into `InferCtxt`
nikomatsakis 6cb70f6
rename `region_inference` module to `region_constraints`
nikomatsakis c73f469
infer: rename `region_vars` field to `region_constraints`
nikomatsakis dcd78ca
rename RegionVarBindings to RegionConstraintCollector
nikomatsakis ee56f9e
make the `region_constraints` field an `Option`
nikomatsakis 042a844
separate the `Collector` from the `Data` it is collecting
nikomatsakis e863952
fix error messages relating to removing lint for E0276
nikomatsakis be2b684
make `RegionVid` implement `Idx` and use `IndexVec`
nikomatsakis 56d5f26
region_constraints: only push givens into undo-log if in a snapshot
nikomatsakis bf00e64
split the `var_origins` from the `RegionConstraintData`
nikomatsakis 9b8801a
add method `take_and_reset_region_constraints` to `InferCtxt`
nikomatsakis 941e598
rustfmt `lexical_region_resolve`
nikomatsakis ea91b1a
MIR typeck: rustfmt
nikomatsakis fb36626
MIR typeck: refactor to track region constraints
nikomatsakis 74edfbe
replace `usize` with `RegionIndex` in indices map
nikomatsakis 41e27a2
replace `RegionIndex` with `RegionVid` (which now impls Idx)
nikomatsakis 53bd655
IndexVec: add `'_` to make clear where borrowing is happening
nikomatsakis 3f37f9a
infer: give access to region variable origins
nikomatsakis 31d6b17
infer: extract total number of region variables from infcx
nikomatsakis 072bae2
formalize giving ownership of region vars to region inf. context
nikomatsakis ee19f2c
simplify lifetime annotations for `MirBorrowckCtxt`
nikomatsakis 73c9854
erase regions in MIR borrowck when checking if type moves by default
nikomatsakis f578229
MIR-dump: print return type from local_decls for `_0`
nikomatsakis e68750b
renumber: handle ReturnTy better
nikomatsakis 9e42ba7
renumber: debug logs, use `visit_region` rather than `visit_rvalue`
nikomatsakis 71ef306
region_infer: improved debug logging
nikomatsakis 69833ab
integrate NLL with MIR type-checker
nikomatsakis 6cddfd3
update READMEs to describe the new situation
nikomatsakis 3caa1d1
WIP infer/outlives: add license
nikomatsakis 126c472
convert TODO in traits into a FIXME
nikomatsakis 7e3e488
add FIXME for converting RegionVid to use `newtype_index!`
nikomatsakis 070a2b4
fix mir-opt NLL tests -- variable `'_#0r` is now `'static`
nikomatsakis 5507cec
factor out `free_region_binding_scope` helper
nikomatsakis 7f2c82f
leak the affects of closures on the free-region-map, like we used to
nikomatsakis cf7fe00
Make RegionVid use newtype_index!
spastorino File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stray import?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's needed because methods of Idx trait are used
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I see.