-
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 9 pull requests #81559
Rollup of 9 pull requests #81559
Commits on Jan 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 12014d2 - Browse repository at this point
Copy the full SHA 12014d2View commit details
Commits on Jan 26, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 8db2782 - Browse repository at this point
Copy the full SHA 8db2782View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfb0e4a - Browse repository at this point
Copy the full SHA bfb0e4aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0597339 - Browse repository at this point
Copy the full SHA 0597339View commit details -
refactor: updated zip nth() to iterator nth()
When the iterator nth() method was updated it was not in zip. Zip needs to implement nth() for the trusted length specialised implementation.
Configuration menu - View commit details
-
Copy full SHA for f2bb202 - Browse repository at this point
Copy the full SHA f2bb202View commit details
Commits on Jan 27, 2021
-
Configuration menu - View commit details
-
Copy full SHA for a398994 - Browse repository at this point
Copy the full SHA a398994View commit details
Commits on Jan 28, 2021
-
Fix rustc sysroot in systems using CAS
Change filesearch::get_or_default_sysroot() to check if sysroot is found using env::args().next() if rustc in argv[0] is a symlink; otherwise, or if it is not found, use env::current_exe() to imply sysroot. This makes the rustc binary able to locate Rust libraries in systems using content-addressable storage (CAS).
Configuration menu - View commit details
-
Copy full SHA for 3f679fe - Browse repository at this point
Copy the full SHA 3f679feView commit details -
Clone entire
TokenCursor
when collecting tokensReverts PR #80830 Fixes taiki-e/pin-project#312 We can have an arbitrary number of `None`-delimited group frames pushed on the stack due to proc-macro invocations, which can legally be exited. Attempting to account for this would add a lot of complexity for a tiny performance gain, so let's just use the original strategy.
Configuration menu - View commit details
-
Copy full SHA for 5d73918 - Browse repository at this point
Copy the full SHA 5d73918View commit details -
Configuration menu - View commit details
-
Copy full SHA for ada714d - Browse repository at this point
Copy the full SHA ada714dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 152f500 - Browse repository at this point
Copy the full SHA 152f500View commit details
Commits on Jan 29, 2021
-
Restrict precision of captures with
capture_disjoint_fields
set- No Derefs in move closure, this will result in value behind a reference getting moved. - No projections are applied to raw pointers, since these require unsafe blocks. We capture them completely. Motivations for these are recorded here: https://hackmd.io/71qq-IOpTNqzMkPpAI1dVg?view
Configuration menu - View commit details
-
Copy full SHA for b421cd5 - Browse repository at this point
Copy the full SHA b421cd5View commit details -
Compute mutability of closure captures
When `capture_disjoint_fields` is not enabled, checking if the root variable binding is mutable would suffice. However with the feature enabled, the captured place might be mutable because it dereferences a mutable reference. This PR computes the mutability of each capture after capture analysis in rustc_typeck. We store this in `ty::CapturedPlace` and then use `ty::CapturedPlace::mutability` in mir_build and borrow_check.
Configuration menu - View commit details
-
Copy full SHA for 3488082 - Browse repository at this point
Copy the full SHA 3488082View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1373f98 - Browse repository at this point
Copy the full SHA 1373f98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0897db5 - Browse repository at this point
Copy the full SHA 0897db5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 604cbdc - Browse repository at this point
Copy the full SHA 604cbdcView commit details -
Configuration menu - View commit details
-
Copy full SHA for c748f32 - Browse repository at this point
Copy the full SHA c748f32View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffd5327 - Browse repository at this point
Copy the full SHA ffd5327View commit details -
Configuration menu - View commit details
-
Copy full SHA for fadf03e - Browse repository at this point
Copy the full SHA fadf03eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f4bab2 - Browse repository at this point
Copy the full SHA 0f4bab2View commit details
Commits on Jan 30, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 56c2736 - Browse repository at this point
Copy the full SHA 56c2736View commit details -
Balance sidebar
Deref
cycle check with main contentThe `Deref` cycle checks added as part of #80653 were "unbalanced" in the sense that the main content code path checks for cycles _before_ descending, while the sidebar checks _after_. Checking _before_ is correct, so this changes the sidebar path to match the main content path.
Configuration menu - View commit details
-
Copy full SHA for 7e32178 - Browse repository at this point
Copy the full SHA 7e32178View commit details -
Rollup merge of #79173 - DeveloperC286:zip_nth_cleanup, r=kennytm
refactor: removing custom nth Zip fn Noticed `super_nth()` that seems very similar to `nth()` in `iterator.rs`. If you look at `nth()` in `iterator.rs` before the commit `ecacc7534b6bf50205c37c89402565b82d95a257` `super_nth()` looks exactly the same as `fn nth()` in `iterator.rs`. I may be misunderstanding something, but I think `super_nth()` can just be removed.
Configuration menu - View commit details
-
Copy full SHA for 2ad8c2f - Browse repository at this point
Copy the full SHA 2ad8c2fView commit details -
Rollup merge of #79253 - rcvalle:fix-rustc-sysroot-cas, r=nagisa
Fix rustc sysroot in systems using CAS Change filesearch::get_or_default_sysroot() to check if sysroot is found using env::args().next() if rustc in argv[0] is a symlink; otherwise, or if it is not found, use env::current_exe() to imply sysroot. This makes the rustc binary able to locate Rust libraries in systems using content-addressable storage (CAS).
Configuration menu - View commit details
-
Copy full SHA for 950c10c - Browse repository at this point
Copy the full SHA 950c10cView commit details -
Rollup merge of #80092 - sexxi-goose:restrict_precision, r=nikomatsakis
2229: Fix issues with move closures and mutability This PR fixes two issues when feature `capture_disjoint_fields` is used. 1. Can't mutate using a mutable reference 2. Move closures try to move value out through a reference. To do so, we 1. Compute the mutability of the capture and store it as part of the `CapturedPlace` that is written in TypeckResults 2. Restrict capture precision. Note this is temporary for now, to allow the feature to be used with move closures and ByValue captures and might change depending on discussions with the lang team. - No Derefs are captured for ByValue captures, since that will result in value behind a reference getting moved. - No projections are applied to raw pointers since these require unsafe blocks. We capture them completely. r? ``@nikomatsakis``
Configuration menu - View commit details
-
Copy full SHA for 93dbd0f - Browse repository at this point
Copy the full SHA 93dbd0fView commit details -
Rollup merge of #80945 - sdroege:downcast-send-sync, r=m-ou-se
Add Box::downcast() for dyn Any + Send + Sync Looks like a plain omission, but unfortunately I just needed that in my code :)
Configuration menu - View commit details
-
Copy full SHA for 7a718eb - Browse repository at this point
Copy the full SHA 7a718ebView commit details -
Rollup merge of #81422 - estebank:dotdot_sugg, r=davidtwco
Account for existing `_` field pattern when suggesting `..` Follow up to #80017.
Configuration menu - View commit details
-
Copy full SHA for 3a61c21 - Browse repository at this point
Copy the full SHA 3a61c21View commit details -
Rollup merge of #81472 - Aaron1011:fix/revert-cursor-clone, r=petroch…
…enkov Clone entire `TokenCursor` when collecting tokens Reverts PR #80830 Fixes taiki-e/pin-project#312 We can have an arbitrary number of `None`-delimited group frames pushed on the stack due to proc-macro invocations, which can legally be exited. Attempting to account for this would add a lot of complexity for a tiny performance gain, so let's just use the original strategy.
Configuration menu - View commit details
-
Copy full SHA for 022eada - Browse repository at this point
Copy the full SHA 022eadaView commit details -
Rollup merge of #81484 - Kogia-sima:perf/optimize-udiv_1e19, r=nagisa
Optimize decimal formatting of 128-bit integers ## Description This PR optimizes the `udivmod_1e19` function, which is used for formatting 128-bit integers, based on the algorithm provided in \[1\]. This optimization improves performance of formatting 128-bit integers, especially on 64-bit architectures. It also slightly reduces the output binary size. ## Assembler comparison https://godbolt.org/z/YrG5zY ## Performance #### previous results ``` test fmt::write_u128_max ... bench: 552 ns/iter (+/- 4) test fmt::write_u128_min ... bench: 125 ns/iter (+/- 2) ``` #### new results ``` test fmt::write_u128_max ... bench: 205 ns/iter (+/- 13) test fmt::write_u128_min ... bench: 129 ns/iter (+/- 5) ``` ## Reference \[1\] T. Granlund and P. Montgomery, “Division by Invariant Integers Using Multiplication” in Proc. of the SIGPLAN94 Conference on Programming Language Design and Implementation, 1994, pp. 61–72
Configuration menu - View commit details
-
Copy full SHA for 6f67e2f - Browse repository at this point
Copy the full SHA 6f67e2fView commit details -
Rollup merge of #81491 - jryans:rustdoc-deref-ice-81395, r=GuillaumeG…
…omez Balance sidebar `Deref` cycle check with main content The `Deref` cycle checks added as part of #80653 were "unbalanced" in the sense that the main content code path checks for cycles _before_ descending, while the sidebar checks _after_. Checking _before_ is correct, so this changes the sidebar path to match the main content path. Fixes #81395 r? ``@GuillaumeGomez``
Configuration menu - View commit details
-
Copy full SHA for 23643ad - Browse repository at this point
Copy the full SHA 23643adView commit details -
Rollup merge of #81550 - xfix:replace-mention-of-predecessor, r=jonas…
…-schievink Replace predecessor with range in collections documentation Fixes #81548.
Configuration menu - View commit details
-
Copy full SHA for de95341 - Browse repository at this point
Copy the full SHA de95341View commit details