Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upAdd a per-tree cache into the obligation forest #31349
Conversation
nikomatsakis
added some commits
Feb 1, 2016
rust-highfive
assigned
aturon
Feb 1, 2016
This comment has been minimized.
This comment has been minimized.
|
cc @jroesch |
soltanmm
referenced this pull request
Feb 2, 2016
Closed
Add snapshotting to ObligationForest, take 2 #31175
This comment has been minimized.
This comment has been minimized.
soltanmm
commented
Feb 3, 2016
|
@nikomatsakis I believe you raised a point earlier that you were considering fully persistent hash maps in the per-tree state as a means to simplify the interface between the It seems like using a |
This comment has been minimized.
This comment has been minimized.
Not very strongly. Something like snapshottable might be better, though we'd have to think about how it works (in particular, how the actions are accumulated -- maybe you could create a "handle" to the main value that also collects the undo actions locally or something). The other option would be just hard-coding the fact that the per-tree state is a map, and parameterizing |
This comment has been minimized.
This comment has been minimized.
|
Sorry for the delay reviewing. This looks basically fine to me -- at little hacky, but well-documented as such :) @bors: r+ |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 5, 2016
This comment has been minimized.
This comment has been minimized.
bors
merged commit 35d6efb
into
rust-lang:master
Feb 5, 2016
nikomatsakis
added
beta-nominated
T-compiler
labels
Feb 8, 2016
This comment has been minimized.
This comment has been minimized.
|
Nominating for beta since this regression was pretty significant. |
nikomatsakis
added
the
beta-accepted
label
Feb 11, 2016
This comment has been minimized.
This comment has been minimized.
|
Approving for backport, although another option might to revert the change that introduced the |
This comment has been minimized.
This comment has been minimized.
|
@nikomatsakis beta is going to become stable in 10 days, will this one this be backported until then? |
This comment has been minimized.
This comment has been minimized.
|
I opted to revert the change on beta, because this did not backport entirely cleanly: #31851 |
nikomatsakis commentedFeb 1, 2016
Have the
ObligationForestkeep some per-tree state (or typeT) and have it give a mutable reference for use when processing obligations. In this case, it will be a hashmap. This obviously affects the work that @soltanmm has been doing on snapshotting. I partly want to toss this out there for discussion.Fixes #31157. (The test in question goes to approx. 30s instead of 5 minutes for me.)
cc #30977.
cc @aturon @arielb1 @soltanmm
r? @aturon who reviewed original
ObligationForest