-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Rollup of 6 pull requests #69012
Rollup of 6 pull requests #69012
Commits on Feb 9, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 0b20ce9 - Browse repository at this point
Copy the full SHA 0b20ce9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0755c41 - Browse repository at this point
Copy the full SHA 0755c41View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa5a3c3 - Browse repository at this point
Copy the full SHA fa5a3c3View commit details -
Print
after
effect in default graphviz formatterNow the line for each statement will show the diff resulting from the combination of `before_statement_effect` and `statement_effect`. It's still possible to observe each in isolation via `borrowck_graphviz_format = "two_phase"`.
Configuration menu - View commit details
-
Copy full SHA for effd520 - Browse repository at this point
Copy the full SHA effd520View commit details -
Configuration menu - View commit details
-
Copy full SHA for 852afa2 - Browse repository at this point
Copy the full SHA 852afa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb14386 - Browse repository at this point
Copy the full SHA fb14386View commit details -
Configuration menu - View commit details
-
Copy full SHA for 83dfb42 - Browse repository at this point
Copy the full SHA 83dfb42View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d6208c - Browse repository at this point
Copy the full SHA 8d6208cView commit details -
parser: Keep current and previous tokens precisely
including their unnormalized forms. Add more documentation for them.
Configuration menu - View commit details
-
Copy full SHA for cd7a428 - Browse repository at this point
Copy the full SHA cd7a428View commit details -
Reduce the number of
RefCell
s inInferCtxt
.`InferCtxt` contains six structures within `RefCell`s. Every time we create and dispose of (commit or rollback) a snapshot we have to `borrow_mut` each one of them. This commit moves the six structures under a single `RefCell`, which gives significant speed-ups by reducing the number of `borrow_mut` calls. To avoid runtime errors I had to reduce the lifetimes of dynamic borrows in a couple of places.
Configuration menu - View commit details
-
Copy full SHA for 7426853 - Browse repository at this point
Copy the full SHA 7426853View commit details -
Reduce queries/map lookups done by coherence
This has negligible perf impact, but it does improve the code a bit. * Only query the specialization graph of any trait once instead of once per impl * Loop over impls only once, precomputing impl DefId and TraitRef
Configuration menu - View commit details
-
Copy full SHA for 5ab1ab4 - Browse repository at this point
Copy the full SHA 5ab1ab4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 82d6e79 - Browse repository at this point
Copy the full SHA 82d6e79View commit details -
Defer error span calculation until needed
This was showing up in profiles. Also deduplicates the code to get just the impl header span.
Configuration menu - View commit details
-
Copy full SHA for 8f468ee - Browse repository at this point
Copy the full SHA 8f468eeView commit details -
Remove vestigial rust-lang#43355-compat code
This was previously a future-compat warning that has since been turned into hard error, but without actually removing all the code. Avoids a call to `traits::overlapping_impls`, which is expensive.
Configuration menu - View commit details
-
Copy full SHA for 2309592 - Browse repository at this point
Copy the full SHA 2309592View commit details
Commits on Feb 10, 2020
-
Rollup merge of rust-lang#68694 - nnethercote:reduce-RefCells-in-Infe…
…rCtxt, r=varkor Reduce the number of `RefCell`s in `InferCtxt`. `InferCtxt` contains six structures within `RefCell`s. Every time we create and dispose of (commit or rollback) a snapshot we have to `borrow_mut` each one of them. This commit moves the six structures under a single `RefCell`, which gives significant speed-ups by reducing the number of `borrow_mut` calls. To avoid runtime errors I had to reduce the lifetimes of dynamic borrows in a couple of places. r? @varkor
Configuration menu - View commit details
-
Copy full SHA for 8007f84 - Browse repository at this point
Copy the full SHA 8007f84View commit details -
Rollup merge of rust-lang#68966 - jonas-schievink:coherence-perf, r=v…
…arkor Improve performance of coherence checks The biggest perf improvement in here is expected to come from the removal of the remaining rust-lang#43355 warning code since that effectively runs the expensive parts of coherence *twice*, which can even be visualized by obtaining a flamegraph: ![image](https://user-images.githubusercontent.com/5047365/74091959-e1f41200-4a8b-11ea-969d-2849d3f86c63.png)
Configuration menu - View commit details
-
Copy full SHA for b3cfb97 - Browse repository at this point
Copy the full SHA b3cfb97View commit details -
Rollup merge of rust-lang#68976 - ecstatic-morse:const-non-zero, r=dt…
…olnay Make `num::NonZeroX::new` an unstable `const fn` cc rust-lang#53718 These require `#[feature(const_if_match)]`, meaning they must remain unstable for the time being.
Configuration menu - View commit details
-
Copy full SHA for e3315f6 - Browse repository at this point
Copy the full SHA e3315f6View commit details -
Rollup merge of rust-lang#68992 - matthewjasper:imm-binding-after-at,…
… r=Centril Correctly parse `mut a @ b` r? @Centril Closes rust-lang#67861 Closes rust-lang#67926
Configuration menu - View commit details
-
Copy full SHA for 64d2d04 - Browse repository at this point
Copy the full SHA 64d2d04View commit details -
Rollup merge of rust-lang#69005 - ecstatic-morse:unified-dataflow-gra…
…phviz, r=wesleywiser Small graphviz improvements for the new dataflow framework Split out from rust-lang#68241. This prints the correct effect diff for each line (the before-effect and the after-effect) and makes marginal improvements to the graphviz output for the new dataflow framework including using monospaced font and better line breaking. This will only be useful when rust-lang#68241 is merged and the graphviz output changes from this: ![image](https://user-images.githubusercontent.com/29463364/74107776-5e3c3300-4b28-11ea-9d33-4862228b5e87.png) to this: ![image](https://user-images.githubusercontent.com/29463364/74107751-20d7a580-4b28-11ea-99ca-24f749386601.png) r? @wesleywiser
Configuration menu - View commit details
-
Copy full SHA for a8d4ccf - Browse repository at this point
Copy the full SHA a8d4ccfView commit details -
Rollup merge of rust-lang#69006 - petrochenkov:prevspan2, r=Centril
parser: Keep current and previous tokens precisely ...including their unnormalized forms. Add more documentation for them. Hopefully, this will help to eliminate footguns like rust-lang#68728 (comment). I'll try to address the FIXMEs in separate PRs during the next week. r? @Centril
Configuration menu - View commit details
-
Copy full SHA for 18c6d39 - Browse repository at this point
Copy the full SHA 18c6d39View commit details