-
Notifications
You must be signed in to change notification settings - Fork 0
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
Update rustc #8
Update rustc #8
Commits on May 25, 2018
-
Auto merge of rust-lang#51033 - coryshrmn:master, r=dtolnay
stabilize RangeBounds collections_range rust-lang#30877 The FCP for rust-lang#30877 closed last month, with the decision to: 1. move from `collections::range::RangeArgument` to `ops::RangeBounds`, and 2. rename `start()` and `end()` to `start_bounds()` and `end_bounds()`. Simon Sapin already moved it to `ops::RangeBounds` in rust-lang#49163. I renamed the functions, and removed the old `collections::range::RangeArgument` alias. This is my first Rust PR, please let me know if I can improve anything. This passes all tests for me, except the `clippy` tool (which uses `RangeArgument::start()`). I considered deprecating `start()` and `end()` instead of removing them, but the contribution guidelines indicate we can break `clippy` temporarily. I thought it was best to remove the functions, since we're worried about name collisions with `Range::start` and `end`. Closes rust-lang#30877.
Configuration menu - View commit details
-
Copy full SHA for 07c415c - Browse repository at this point
Copy the full SHA 07c415cView commit details
Commits on May 26, 2018
-
Auto merge of rust-lang#50070 - toidiu:ak-2093-outlives, r=nikomatsakis
2093 infer outlives requirements Tracking issue: rust-lang#44493 RFC: rust-lang/rfcs#2093 - [x] add `rustc_attrs` flag - [x] use `RequirePredicates` type - [x] handle explicit predicates on `dyn` Trait - [x] handle explicit predicates on projections - [x] more tests - [x] remove `unused`, `dead_code` and etc.. - [x] documentation
Configuration menu - View commit details
-
Copy full SHA for 49a97ef - Browse repository at this point
Copy the full SHA 49a97efView commit details -
Fail typecheck if we encounter a bogus break
Lone breaks outside of loops create errors in the loop check pass but as they are not fatal, compilation continues. MIR building code assumes all HIR break statements to point to valid locations and fires ICEs if this assumption is violated. In normal compilation, this causes no issues, as code apparently prevents MIR from being built if errors are present. However, before that, typecheck runs and with it MIR const eval. Here we operate differently from normal compilation: it doesn't check for any errors except for type checker ones and then directly builds the MIR. This constellation causes an ICE-on-error if bogus break statements are being put into array length expressions. This commit fixes this ICE by letting typecheck fail if bogus break statements are encountered. This way, MIR const eval fails cleanly with a type check error. Fixes rust-lang#50576 Fixes rust-lang#50581
Configuration menu - View commit details
-
Copy full SHA for 5724dad - Browse repository at this point
Copy the full SHA 5724dadView commit details -
Rename TokenStream::empty to TokenStream::new
There is no precedent for the `empty` name -- we do not have `Vec::empty` or `HashMap::empty` etc.
Configuration menu - View commit details
-
Copy full SHA for a49bc9c - Browse repository at this point
Copy the full SHA a49bc9cView commit details -
Auto merge of rust-lang#51035 - oli-obk:unsupported_crate_type, r=eddyb
Don't ICE if crate has no valid crate types left fixes rust-lang#50993
Configuration menu - View commit details
-
Copy full SHA for 67d99d9 - Browse repository at this point
Copy the full SHA 67d99d9View commit details -
in which we check for confusable Unicodepoints in float literal exponent
The `FatalError.raise()` might seem unmotivated (in most places in the compiler, `err.emit()` suffices), but it's actually used to maintain behavior (viz., stop lexing, don't emit potentially spurious errors looking for the next token after the bad Unicodepoint in the exponent): the previous revision's `self.err_span_` ultimately calls `Handler::emit`, which aborts if the `Handler`'s continue_after_error flag is set, which seems to typically be true during lexing (see `phase_1_parse_input` and and how `CompileController::basic` has `continue_parse_after_error: false` in librustc_driver). Also, let's avoid apostrophes in error messages (the present author would argue that users expect a reassuringly detached, formal, above-it-all tone from a Serious tool like a compiler), and use an RLS-friendly structured suggestion. Resolves rust-lang#49746.
Configuration menu - View commit details
-
Copy full SHA for 6437295 - Browse repository at this point
Copy the full SHA 6437295View commit details -
Auto merge of rust-lang#50364 - LukasKalbertodt:improve-duration-debu…
…g-impl, r=KodrAus Improve `Debug` impl of `time::Duration` Hi there! For a long time now, I was getting annoyed by the derived `Debug` impl of `Duration`. Usually, I use `Duration` to either do quick'n'dirty benchmarking or measuring the time of some operation in general. The output of the derived Debug impl is hard to parse for humans: is { secs: 0, nanos: 968360102 } or { secs: 0, nanos 98507324 } longer? So after running into the annoyance several times (sometimes building my own function to print the Duration properly), I decided to tackle this. Now the output looks like this: ``` Duration::new(1, 0) => 1s Duration::new(1, 1) => 1.000000001s Duration::new(1, 300) => 1.0000003s Duration::new(1, 4000) => 1.000004s Duration::new(1, 600000) => 1.0006s Duration::new(1, 7000000) => 1.007s Duration::new(0, 0) => 0ns Duration::new(0, 1) => 1ns Duration::new(0, 300) => 300ns Duration::new(0, 4001) => 4.001µs Duration::new(0, 600300) => 600.3µs Duration::new(0, 7000000) => 7ms ``` Note that I implemented the formatting manually and didn't use floats. No information is "lost" when printing. So `Duration::new(123_456_789_000, 900_000_001)` prints as `123456789000.900000001s`. ~~This is not yet finished~~, but I wanted to open the PR now already in order to get some feedback (maybe everyone likes the derived impl). ### Still ToDo: - [x] Respect precision ~~and width~~ parameter of the formatter (see [this comment](rust-lang#50364 (comment))) ### Alternatives/Decisions - Should large durations displayed in minutes, hours, days, ...? For now, I decided not to because the current formatting is close the how a `Duration` is stored. From this new `Debug` output, you can still easily see what the values of `secs` and `nanos` are. A formatting like `3h 27m 12s 9ms` might be more appropriate for a `Display` impl? - Should this rather be a `Display` impl and should `Debug` be derived? Maybe this formatting is too fancy for `Debug`? In my opinion it's not and, as already mentioned, from the current format one can still very easily determine the values for `secs` and `nanos`. - Whitespace between the number and the unit? ### Notes for reviewers - ~~The combined diff sucks. Rather review both commits individually.~~ - ~~In the unit test, I am building my own type implementing `fmt::Write` to test the output. Maybe there is already something like that which I can use?~~ - My `Debug` impl block is marked as `#[stable(...)]`... but that's fine since the derived Debug impl was stable already, right? --- ~~Apart from the main change, I moved all `time` unit tests into the `tests` directory. All other `libcore` tests are there, so I guess it was simply an oversight. Prior to this change, the `time` tests weren't run, so I guess this is kind of a bug fix. If my `Debug` impl is rejected, I can of course just send the fix as PR.~~ (this was already merged in rust-lang#50466)
Configuration menu - View commit details
-
Copy full SHA for 444a9c3 - Browse repository at this point
Copy the full SHA 444a9c3View commit details -
Auto merge of rust-lang#51041 - alexcrichton:better-unwind, r=nikomat…
…sakis std: Ensure OOM is classified as `nounwind` OOM can't unwind today, and historically it's been optimized as if it can't unwind. This accidentally regressed with recent changes to the OOM handler, so this commit adds in a codegen test to assert that everything gets optimized away after the OOM function is approrpiately classified as nounwind Closes rust-lang#50925
Configuration menu - View commit details
-
Copy full SHA for b4247d4 - Browse repository at this point
Copy the full SHA b4247d4View commit details -
Rollup merge of rust-lang#50987 - estebank:underline-multiple-suggest…
…ions, r=petrochencov Underline multiple suggested replacements in the same line <img width="685" alt="screen shot 2018-05-22 at 21 06 48" src="https://user-images.githubusercontent.com/1606434/40403051-174f3180-5e04-11e8-86b6-261630c5ff80.png"> Follow up to rust-lang#50943. Fix rust-lang#50977.
Configuration menu - View commit details
-
Copy full SHA for 103abdb - Browse repository at this point
Copy the full SHA 103abdbView commit details -
Rollup merge of rust-lang#51014 - GuillaumeGomez:env_docs, r=QuietMis…
…dreavus Add documentation about env! second argument Fixes rust-lang#48044. r? @QuietMisdreavus
Configuration menu - View commit details
-
Copy full SHA for ee18e92 - Browse repository at this point
Copy the full SHA ee18e92View commit details -
Rollup merge of rust-lang#51034 - oli-obk:lowering, r=pnkfelix
Remove unused lowering field and method r? @nikomatsakis So while trying to understand lowering better, I found out that there's something related to creating definitions. Analyzing that further, I realized that it is entirely dead code. The `parent_def` field was only ever used for setting and resetting the field itself. The field was never read anywhere else and thus its value was entirely unused. Maybe the `unused_field` lint should detect when the only use of a field is the field being read without using the read value other than writing back to the field? The diff is best viewed without whitespace changes getting in the way: https://github.com/rust-lang/rust/pull/51034/files?w=1
Configuration menu - View commit details
-
Copy full SHA for e66ba0f - Browse repository at this point
Copy the full SHA e66ba0fView commit details -
Rollup merge of rust-lang#51047 - spastorino:use_polonius_engine_fact…
…s, r=nikomatsakis Use AllFacts from polonius-engine
Configuration menu - View commit details
-
Copy full SHA for e667e7b - Browse repository at this point
Copy the full SHA e667e7bView commit details -
Rollup merge of rust-lang#51048 - GuillaumeGomez:formatter-examples, …
…r=QuietMisdreavus Add more missing examples for Formatter r? @QuietMisdreavus
Configuration menu - View commit details
-
Copy full SHA for 08b4170 - Browse repository at this point
Copy the full SHA 08b4170View commit details -
Rollup merge of rust-lang#51056 - tbu-:pr_once_new, r=dtolnay
Mention and use `Once::new` instead of `ONCE_INIT`
Configuration menu - View commit details
-
Copy full SHA for e0e598b - Browse repository at this point
Copy the full SHA e0e598bView commit details -
Rollup merge of rust-lang#51059 - oberien:patch-1, r=nikomatsakis
What does an expression look like, that consists only of special characters? I had a lot of fun creating this together with @CryZe
Configuration menu - View commit details
-
Copy full SHA for 5d95492 - Browse repository at this point
Copy the full SHA 5d95492View commit details -
Rollup merge of rust-lang#51065 - mbrubeck:docs, r=rkruppe
Update nomicon link in transmute docs The list of "invalid primitive values" has moved to a different URL within the Rustonomicon.
Configuration menu - View commit details
-
Copy full SHA for 18028eb - Browse repository at this point
Copy the full SHA 18028ebView commit details -
Rollup merge of rust-lang#51067 - mcarton:patch-1, r=steveklabnik
Add inner links in documentation From [this SO question](https://stackoverflow.com/q/50518757/2733851) it looks like this page isn't really clear. I personally do think this page is quite clear, the only think I could think of was adding some references.
Configuration menu - View commit details
-
Copy full SHA for 239e3d2 - Browse repository at this point
Copy the full SHA 239e3d2View commit details -
Rollup merge of rust-lang#51070 - est31:fix_break_const_ice, r=estebank
Fail typecheck if we encounter a bogus break Lone breaks outside of loops create errors in the loop check pass but as they are not fatal, compilation continues. MIR building code assumes all HIR break statements to point to valid locations and fires ICEs if this assumption is violated. In normal compilation, this causes no issues, as code apparently prevents MIR from being built if errors are present. However, before that, typecheck runs and with it MIR const eval. Here we operate differently from normal compilation: it doesn't check for any errors except for type checker ones and then directly builds the MIR. This constellation causes an ICE-on-error if bogus break statements are being put into array length expressions. This commit fixes this ICE by letting typecheck fail if bogus break statements are encountered. This way, MIR const eval fails cleanly with a type check error. Fixes rust-lang#50576 Fixes rust-lang#50581
Configuration menu - View commit details
-
Copy full SHA for 5089ebc - Browse repository at this point
Copy the full SHA 5089ebcView commit details -
Rollup merge of rust-lang#51073 - dtolnay:empty, r=alexcrichton
Rename TokenStream::empty to TokenStream::new There is no precedent for the `empty` name -- we do not have `Vec::empty` or `HashMap::empty` etc. I would propose landing this but reflecting it in a non-breaking release of proc-macro2 that provides both `new` and a deprecated `empty` constructor. Tracking issue: rust-lang#38356 r? @alexcrichton
Configuration menu - View commit details
-
Copy full SHA for 84b2e14 - Browse repository at this point
Copy the full SHA 84b2e14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 189c0a1 - Browse repository at this point
Copy the full SHA 189c0a1View commit details -
Auto merge of rust-lang#51082 - kennytm:rollup, r=kennytm
Rollup of 11 pull requests Successful merges: - rust-lang#50987 (Underline multiple suggested replacements in the same line) - rust-lang#51014 (Add documentation about env! second argument) - rust-lang#51034 (Remove unused lowering field and method) - rust-lang#51047 (Use AllFacts from polonius-engine) - rust-lang#51048 (Add more missing examples for Formatter) - rust-lang#51056 (Mention and use `Once::new` instead of `ONCE_INIT`) - rust-lang#51059 (What does an expression look like, that consists only of special characters?) - rust-lang#51065 (Update nomicon link in transmute docs) - rust-lang#51067 (Add inner links in documentation) - rust-lang#51070 (Fail typecheck if we encounter a bogus break) - rust-lang#51073 (Rename TokenStream::empty to TokenStream::new) Failed merges:
Configuration menu - View commit details
-
Copy full SHA for 7a0e6a8 - Browse repository at this point
Copy the full SHA 7a0e6a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e4269c - Browse repository at this point
Copy the full SHA 1e4269cView commit details -
Auto merge of rust-lang#51052 - nikomatsakis:obsolete-arrow, r=petroc…
…henkov restore emplacement syntax (obsolete) Fix rust-lang#50832 r? @petrochenkov
Configuration menu - View commit details
-
Copy full SHA for 1594c6c - Browse repository at this point
Copy the full SHA 1594c6cView commit details -
Auto merge of rust-lang#51072 - petrochenkov:ifield, r=eddyb
Use `Ident`s for fields in HIR Continuation of rust-lang#49718, part of rust-lang#49300
Configuration menu - View commit details
-
Copy full SHA for 1e504d3 - Browse repository at this point
Copy the full SHA 1e504d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae80941 - Browse repository at this point
Copy the full SHA ae80941View commit details -
Rollup merge of rust-lang#51049 - varkor:break-while-condition, r=nik…
…omatsakis Fix behaviour of divergence in while loop conditions This fixes `'a: while break 'a {};` being treated as diverging, by tracking break expressions in the same way as in `loop` expressions. Fixes rust-lang#50856. r? @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for 90b7bf6 - Browse repository at this point
Copy the full SHA 90b7bf6View commit details -
Rollup merge of rust-lang#51057 - pnkfelix:issue-51025-make-ui-tests-…
…robust-wrt-nll, r=nikomatsakis make ui tests robust with respect to NLL This PR revises the `ui` tests that I could quickly identify that: 1. previously had successful compilations under non-lexical lifetimes (NLL) because they assumed lexical lifetimes, but 2. such assumption of lexical lifetimes was actually not necessarily part of the spirit of the original issue/bug we want to witness. In many cases, this is simply a matter of adding a use of a borrow so that it gets extended long enough to observe a conflict. (In some cases the revision was more subtle, such as adding a destructor, or revising the order of declaration of some variables.) ---- With these test revisions in place, I subsequently updated the expected stderr output under the NLL compiletest mode. So now we should get even more testing of NLL than we were before. Fix rust-lang#51025
Configuration menu - View commit details
-
Copy full SHA for b1de351 - Browse repository at this point
Copy the full SHA b1de351View commit details -
Rollup merge of rust-lang#51092 - Mark-Simulacrum:release-notes-maste…
…r, r=Mark-Simulacrum [master] Release notes for 1.26.1 None
Configuration menu - View commit details
-
Copy full SHA for 472b04d - Browse repository at this point
Copy the full SHA 472b04dView commit details -
Point to the current box syntax tracking issue
The issue was used for both box syntax as well as placement new. It got closed due to placement new being unapproved. So a new one got created for box syntax, yet neither the unstable book nor feature_gate.rs got updated. We are doing this now.
Configuration menu - View commit details
-
Copy full SHA for 20ab884 - Browse repository at this point
Copy the full SHA 20ab884View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7dec8a4 - Browse repository at this point
Copy the full SHA 7dec8a4View commit details -
Auto merge of rust-lang#51094 - Mark-Simulacrum:rollup, r=Mark-Simula…
…crum Rollup of 3 pull requests Successful merges: - rust-lang#51049 (Fix behaviour of divergence in while loop conditions) - rust-lang#51057 (make ui tests robust with respect to NLL) - rust-lang#51092 ([master] Release notes for 1.26.1) Failed merges:
Configuration menu - View commit details
-
Copy full SHA for 5015fa3 - Browse repository at this point
Copy the full SHA 5015fa3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05f15d4 - Browse repository at this point
Copy the full SHA 05f15d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 023137d - Browse repository at this point
Copy the full SHA 023137dView commit details
Commits on May 27, 2018
-
Configuration menu - View commit details
-
Copy full SHA for f386cda - Browse repository at this point
Copy the full SHA f386cdaView commit details -
Auto merge of rust-lang#51066 - est31:master, r=sfackler
Point to the current box syntax tracking issue The issue was used for both box syntax as well as placement new. It got closed due to placement new being unapproved. So a new one got created for box syntax, yet neither the unstable book nor feature_gate.rs got updated. We are doing this now. r? @aidanhs
Configuration menu - View commit details
-
Copy full SHA for f0805a4 - Browse repository at this point
Copy the full SHA f0805a4View commit details -
Auto merge of rust-lang#51075 - estebank:and_the_case_of_the_confusab…
…le_float_exponent, r=eddyb Check for confusable Unicode chars in float literal exponent Fixing tests for rust-lang#49989. Resolves rust-lang#49746.
Configuration menu - View commit details
-
Copy full SHA for 1a6bda6 - Browse repository at this point
Copy the full SHA 1a6bda6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 509f414 - Browse repository at this point
Copy the full SHA 509f414View commit details -
Auto merge of rust-lang#51090 - kennytm:tidy-check-missing-tracking-i…
…ssue, r=alexcrichton Ensure every unstable language feature has a tracking issue. Filled in the missing numbers: * `abi_ptx` → rust-lang#38788 * `generators` → rust-lang#43122 * `global_allocator` → rust-lang#27389 Reused existing tracking issues because they were decomposed from a larger feature * `*_target_feature` → rust-lang#44839 (reusing the old `target_feature` number) * `proc_macros_*` → rust-lang#38356 (reusing the to-be-stabilized `proc_macros` number) Filed new issues * `exhaustive_patterns` → rust-lang#51085 * `pattern_parentheses` → rust-lang#51087 * `wasm_custom_section` and `wasm_import_module` → rust-lang#51088
Configuration menu - View commit details
-
Copy full SHA for 3fd82a5 - Browse repository at this point
Copy the full SHA 3fd82a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbd790c - Browse repository at this point
Copy the full SHA bbd790cView commit details -
Auto merge of rust-lang#51084 - simartin:issue_51022, r=estebank
Issue rust-lang#51022: Improve E0131 message when lifetimes are involved. Fixes rust-lang#51022
Configuration menu - View commit details
-
Copy full SHA for 7d218fc - Browse repository at this point
Copy the full SHA 7d218fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for bbcace5 - Browse repository at this point
Copy the full SHA bbcace5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0eeebe1 - Browse repository at this point
Copy the full SHA 0eeebe1View commit details -
Auto merge of rust-lang#51101 - 11Takanori:fix-typo, r=frewsxcv
Fix typo in macro_parser.rs innacurate -> inaccurate
Configuration menu - View commit details
-
Copy full SHA for a52b01b - Browse repository at this point
Copy the full SHA a52b01bView commit details -
Configuration menu - View commit details
-
Copy full SHA for fb447f1 - Browse repository at this point
Copy the full SHA fb447f1View commit details -
Auto merge of rust-lang#51105 - uuttff8:master, r=GuillaumeGomez
lib.rs don't beautiful
Configuration menu - View commit details
-
Copy full SHA for 63b1070 - Browse repository at this point
Copy the full SHA 63b1070View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bb939d - Browse repository at this point
Copy the full SHA 9bb939dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c2d875 - Browse repository at this point
Copy the full SHA 6c2d875View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b6586b - Browse repository at this point
Copy the full SHA 0b6586bView commit details -
Configuration menu - View commit details
-
Copy full SHA for fb4e3b6 - Browse repository at this point
Copy the full SHA fb4e3b6View commit details -
Auto merge of rust-lang#51078 - GuillaumeGomez:stabilize-formatter, r…
…=SimonSapin Stabilize Formatter alignment Fixes rust-lang#27726. cc @SimonSapin
Configuration menu - View commit details
-
Copy full SHA for dcb4056 - Browse repository at this point
Copy the full SHA dcb4056View commit details -
Auto merge of rust-lang#51108 - simartin:issue_51022_follow-up, r=est…
…ebank Address comments in pull request rust-lang#51084. This is a follow-up to rust-lang#51084, that's already been integrated into mainline.
Configuration menu - View commit details
-
Copy full SHA for f9f66c1 - Browse repository at this point
Copy the full SHA f9f66c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e53b78 - Browse repository at this point
Copy the full SHA 0e53b78View commit details -
Auto merge of rust-lang#51062 - mati865:cargo_update, r=alexcrichton
Update cargo There are few nice fixes waiting already.
Configuration menu - View commit details
-
Copy full SHA for ad2591c - Browse repository at this point
Copy the full SHA ad2591cView commit details -
Use suggestion for assoc fn called like method
When encountering an unexisting method for a given trait where an associated function has the same name, suggest using the appropriate syntax, instead of using `help` text. When only one candidate is found, do not call it "candidate #1", just call it "the candidate".
Configuration menu - View commit details
-
Copy full SHA for 447d894 - Browse repository at this point
Copy the full SHA 447d894View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24ee506 - Browse repository at this point
Copy the full SHA 24ee506View commit details -
Auto merge of rust-lang#48309 - mark-i-m:anon_param_lint, r=nikomatsakis
Make anon params lint warn-by-default This is intended as a followup on anonymous parameters deprecation. Cross-posting from rust-lang#41686: > After having read a bit more of the discussion that I can find, I propose a more aggressive deprecation strategy: > - We make the lint warn-by-default as soon as possible > - We make anon parameters a hard error at the epoch boundary cc @matklad @est31 @aturon
Configuration menu - View commit details
-
Copy full SHA for 5f308ee - Browse repository at this point
Copy the full SHA 5f308eeView commit details
Commits on May 28, 2018
-
Auto merge of rust-lang#50892 - davidtwco:issue-50004, r=alexcrichton
Added rustdoc documentation to compiler docs. Fixes rust-lang#50004. r? @alexcrichton (since you reviewed the last PR about compiler docs)
Configuration menu - View commit details
-
Copy full SHA for d0456c6 - Browse repository at this point
Copy the full SHA d0456c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e6fff8 - Browse repository at this point
Copy the full SHA 0e6fff8View commit details -
Auto merge of rust-lang#50612 - Zoxc:thin-slice, r=michaelwoerister
Make &Slice a thin pointer Split out from rust-lang#50395 r? @michaelwoerister
Configuration menu - View commit details
-
Copy full SHA for 68e0e58 - Browse repository at this point
Copy the full SHA 68e0e58View commit details -
Configuration menu - View commit details
-
Copy full SHA for 287ad54 - Browse repository at this point
Copy the full SHA 287ad54View commit details -
Auto merge of rust-lang#50724 - zackmdavis:applicability_rush, r=Mani…
…shearth add suggestion applicabilities to librustc and libsyntax A down payment on rust-lang#50723. Interested in feedback on whether my `MaybeIncorrect` vs. `MachineApplicable` judgement calls are well-calibrated (and that we have a consensus on what this means). r? @Manishearth cc @killercup @estebank
Configuration menu - View commit details
-
Copy full SHA for 16cd84e - Browse repository at this point
Copy the full SHA 16cd84eView commit details -
Auto merge of rust-lang#51118 - nrc:update, r=oli-obk
Update RLS, Rustfmt, and Cargo r? @Mark-Simulacrum Should fix broken rustfmt and RLS builds - Cargo update is needed for compatibility with RLS
Configuration menu - View commit details
-
Copy full SHA for 2b1d69d - Browse repository at this point
Copy the full SHA 2b1d69dView commit details -
Auto merge of rust-lang#51121 - Manishearth:rust-syntax, r=killercup
Mark .fixed files as Rust syntax for GitHub r? @killercup
Configuration menu - View commit details
-
Copy full SHA for a2c4d4e - Browse repository at this point
Copy the full SHA a2c4d4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b271eb - Browse repository at this point
Copy the full SHA 3b271ebView commit details -
operate on
HirId
inhir::Pat::each_binding
, and consequences of thatChanging the `each_binding` utility method to take the `HirId` of a binding pattern rather than its `NodeId` seems like a modest first step in support of the `HirId`ification initiative rust-lang#50928. (The inspiration for choosing this in particular came from the present author's previous work on diagnostics issued during liveness analysis, which is the most greatly affected module in this change.)
Configuration menu - View commit details
-
Copy full SHA for 1329605 - Browse repository at this point
Copy the full SHA 1329605View commit details -
Configuration menu - View commit details
-
Copy full SHA for 078486b - Browse repository at this point
Copy the full SHA 078486bView commit details -
scrap
find_node_for_hir_id
in favor ofhir_to_node_id
Michael Woerister pointed out that `hir_to_node_id` (introduced in August 2017's 28ddd7a) supersedes the functionality of `find_node_for_hir_id` (just a hash lookup compared to that linear search).
Configuration menu - View commit details
-
Copy full SHA for 1b7488d - Browse repository at this point
Copy the full SHA 1b7488dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ee9d89 - Browse repository at this point
Copy the full SHA 3ee9d89View commit details -
Auto merge of rust-lang#50521 - gnzlbg:simd_float, r=alexcrichton
Add simd math intrinsics and gather/scatter This PR adds simd math intrinsics for floating-point vectors (sqrt, sin, cos, pow, exp, log, fma, abs, etc.) and the generic simd gather/scatter intrinsics.
Configuration menu - View commit details
-
Copy full SHA for 2612bbc - Browse repository at this point
Copy the full SHA 2612bbcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c7a5ba - Browse repository at this point
Copy the full SHA 6c7a5baView commit details -
Configuration menu - View commit details
-
Copy full SHA for b169cf1 - Browse repository at this point
Copy the full SHA b169cf1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 43d863b - Browse repository at this point
Copy the full SHA 43d863bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b2eff1 - Browse repository at this point
Copy the full SHA 2b2eff1View commit details -
introduce
shifted_in
,shifted_out
and friendsCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 69ab6f2 - Browse repository at this point
Copy the full SHA 69ab6f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ebd4d6 - Browse repository at this point
Copy the full SHA 7ebd4d6View commit details -
Auto merge of rust-lang#50929 - zackmdavis:hiridification_initiative,…
… r=michaelwoerister operate on `HirId` instead of `NodeId` in `hir::Pat::each_binding`, and consequences of that See rust-lang#50928 for motivation. Questions— * Is rust-lang#50928 actually a good idea as a plan of record, or is there some reason to keep `NodeId`s? * Are the uses of `find_node_for_hir_id` in this initial submission OK (see the FIXME comments)? * Can we bikeshed a better method names `struct_span_lint_hir` _&c._? (Coined in analogy to the `struct_span_lint_node` and `NodeId`, but it feels kind of semantically clunky.) r? @michaelwoerister
Configuration menu - View commit details
-
Copy full SHA for 5bf68db - Browse repository at this point
Copy the full SHA 5bf68dbView commit details -
get rid of str::from_raw_parts_mut
str::from_raw_parts has been removed long ago because it can be obtained via str::from_utf8_unchecked and slice::from_raw_parts. The same goes for str::from_raw_parts_mut.
Configuration menu - View commit details
-
Copy full SHA for b30aaf2 - Browse repository at this point
Copy the full SHA b30aaf2View commit details -
Auto merge of rust-lang#50465 - clarcharr:wrapping, r=KodrAus
Add missing Wrapping methods, use doc_comment! Re-opened version of rust-lang#49393 . Finishing touches for rust-lang#32463. Note that this adds `Shl` and `Shr` implementations for `Wrapping<i128>` and `Wrapping<u128>`, which were previously missed. This is technically insta-stable, but I don't know why this would be a problem.
Configuration menu - View commit details
-
Copy full SHA for e9a489b - Browse repository at this point
Copy the full SHA e9a489bView commit details -
port
fold_regions
and friends to use debruijn indices directlyThey no longer talk about plain integers. Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 9c5a450 - Browse repository at this point
Copy the full SHA 9c5a450View commit details -
make
shifted_in
andshifted_out
const fnsCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for b5018de - Browse repository at this point
Copy the full SHA b5018deView commit details -
stop invoking
DebruijnIndex::new
directlyCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 8bd4bff - Browse repository at this point
Copy the full SHA 8bd4bffView commit details -
port
nice_region_error
code to not track depth but rather indexCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for e2f7f4a - Browse repository at this point
Copy the full SHA e2f7f4aView commit details -
rewrite the hasher to not access
depth
fieldCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f965b79 - Browse repository at this point
Copy the full SHA f965b79View commit details -
refactor
resolve_lifetime
to track outer-index, not depthCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 34c9ae7 - Browse repository at this point
Copy the full SHA 34c9ae7View commit details -
replace use of DebruijnIndex in
for_each_free_region
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 4aeb6ef - Browse repository at this point
Copy the full SHA 4aeb6efView commit details -
convert
LateBoundRegionsCollector
to track a debruijn indexCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 06b2a3f - Browse repository at this point
Copy the full SHA 06b2a3fView commit details -
replace
binder_depth
inLateBoundRegionsDetector
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 8f15d1e - Browse repository at this point
Copy the full SHA 8f15d1eView commit details -
remove use of depth from
TyS
and replace with a debruijn indexCo-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7e15e0b - Browse repository at this point
Copy the full SHA 7e15e0bView commit details -
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 22a25d9 - Browse repository at this point
Copy the full SHA 22a25d9View commit details -
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 783fe4f - Browse repository at this point
Copy the full SHA 783fe4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 18cf47b - Browse repository at this point
Copy the full SHA 18cf47bView commit details
Commits on May 29, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 855ec8b - Browse repository at this point
Copy the full SHA 855ec8bView commit details -
Auto merge of rust-lang#50475 - csmoe:debr, r=nikomatsakis
Refactor DebruijnIndex to be 0-based Fixes rust-lang#49813
Configuration menu - View commit details
-
Copy full SHA for 5ae5361 - Browse repository at this point
Copy the full SHA 5ae5361View commit details -
Auto merge of rust-lang#51144 - tmccombs:unix-epoch-stable, r=Mark-Si…
…mulacrum Stabilize SystemTime::UNIX_EPOCH Fixes rust-lang#49502
Configuration menu - View commit details
-
Copy full SHA for fe5c45b - Browse repository at this point
Copy the full SHA fe5c45bView commit details -
Auto merge of rust-lang#51142 - nickbabcock:doc-inspect, r=frewsxcv
Document additional use case for iter::inspect Adds docs for `iter::inspect` showing the non-debug use case Closes rust-lang#49564
Configuration menu - View commit details
-
Copy full SHA for 4f6d9bf - Browse repository at this point
Copy the full SHA 4f6d9bfView commit details -
Auto merge of rust-lang#51019 - Zoxc:hash-bytes, r=michaelwoerister
Hash up to 8 bytes at once with FxHasher r? @michaelwoerister
Configuration menu - View commit details
-
Copy full SHA for 61f35e5 - Browse repository at this point
Copy the full SHA 61f35e5View commit details -
This reverts commit aad9840. Level 3 (possibly indirectly, the underlying bug might be in XCode’s linker) causes unit tests to sefault when compiled with some versions of XCode: rust-lang#50867 It also appears to cause some segfaults on Windows: rust-lang#50329 (comment) … and regressions in some rustc performance benchmarks: rust-lang#50329 (comment)
Configuration menu - View commit details
-
Copy full SHA for 01e8616 - Browse repository at this point
Copy the full SHA 01e8616View commit details -
Auto merge of rust-lang#51134 - RalfJung:from_raw_parts, r=SimonSapin
extend from_raw_parts docs for slices and strs to mention alignment requirement The documentation for `str::from_raw_parts_mut` seems to not be visible because that method is private, bit I figured it could still be fixed. I also removed the reference to the no-longer-existing `str::from_raw_parts` while I was at it. Alternatively, should I remove `str::from_raw_parts_mut` completely? it is only used in `str::split_at_mut`, where it might as well be inlined.
Configuration menu - View commit details
-
Copy full SHA for 889d8dc - Browse repository at this point
Copy the full SHA 889d8dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 422fe7c - Browse repository at this point
Copy the full SHA 422fe7cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f88283 - Browse repository at this point
Copy the full SHA 4f88283View commit details -
Configuration menu - View commit details
-
Copy full SHA for b45aebf - Browse repository at this point
Copy the full SHA b45aebfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2cd09f2 - Browse repository at this point
Copy the full SHA 2cd09f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for db39ec8 - Browse repository at this point
Copy the full SHA db39ec8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9de4e34 - Browse repository at this point
Copy the full SHA 9de4e34View commit details -
Configuration menu - View commit details
-
Copy full SHA for a8b36c9 - Browse repository at this point
Copy the full SHA a8b36c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c10a65 - Browse repository at this point
Copy the full SHA 4c10a65View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3d6889 - Browse repository at this point
Copy the full SHA c3d6889View commit details -
Auto merge of rust-lang#51133 - spastorino:make_borrowck_use_output, …
…r=nikomatsakis Make borrowck use polonius output
Configuration menu - View commit details
-
Copy full SHA for 59c0f59 - Browse repository at this point
Copy the full SHA 59c0f59View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5067d2f - Browse repository at this point
Copy the full SHA 5067d2fView commit details -
Auto merge of rust-lang#51165 - SimonSapin:opt2, r=alexcrichton
Revert "Set opt-level to 3" This reverts commit aad9840. Level 3 (possibly indirectly, the underlying bug might be in XCode’s linker) causes unit tests to sefault when compiled with some versions of XCode: rust-lang#50867 It also appears to cause some segfaults on Windows: rust-lang#50329 (comment), and regressions in some rustc performance benchmarks: rust-lang#50329 (comment)
Configuration menu - View commit details
-
Copy full SHA for 524ad9b - Browse repository at this point
Copy the full SHA 524ad9bView commit details -
Refactored DFS to be much cleaner. Added continue after noting that b…
…orrow is out of scope at location.
Configuration menu - View commit details
-
Copy full SHA for 4500fe0 - Browse repository at this point
Copy the full SHA 4500fe0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c63714 - Browse repository at this point
Copy the full SHA 9c63714View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62b1e65 - Browse repository at this point
Copy the full SHA 62b1e65View commit details -
Configuration menu - View commit details
-
Copy full SHA for 948f77c - Browse repository at this point
Copy the full SHA 948f77cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a9134d - Browse repository at this point
Copy the full SHA 3a9134dView commit details -
As discussed in rust-lang#49668 (comment) and subsequent, there are use-cases where the OOM handler needs to know the size of the allocation that failed. The alignment might also be a cause for allocation failure, so providing it as well can be useful.
Configuration menu - View commit details
-
Copy full SHA for 0f4ef00 - Browse repository at this point
Copy the full SHA 0f4ef00View commit details -
Debug flag to bypass restriction of mutation in match guards.
Now, if you pass `-Z disable-ast-check-for-mutation-in-guard`, then we will just allow you to mutably-borrow and assign in guards of `match` arms. This is wildly unsound with AST-borrowck. It is also unsound with MIR-borrowck without further adjustments, which come in later in the commit series on this Pull Request. See also rust-lang#24535 and rust-lang/rfcs#1006.
Configuration menu - View commit details
-
Copy full SHA for 47bb3fd - Browse repository at this point
Copy the full SHA 47bb3fdView commit details -
rust-lang#27282: Add
StatementKind::ReadForMatch
to MIR.(This is just the data structure changes and some boilerplate match code that followed from it; the actual emission of these statements comes in a follow-up commit.)
Configuration menu - View commit details
-
Copy full SHA for 24abe6f - Browse repository at this point
Copy the full SHA 24abe6fView commit details -
rust-lang#27282: emit
ReadForMatch
on each match arm.Also, turn on ReadForMatch emission by default (when using NLL).
Configuration menu - View commit details
-
Copy full SHA for 173315e - Browse repository at this point
Copy the full SHA 173315eView commit details -
rust-lang#41962 has a new error with my new code. Incorporate that in…
…to my code. In particular, I am adding an implicit injected borrow on the pattern matches, and when we go around the loop, the compiler is reporting that this injected borrow is conflicting with the move of the original value when the match succeeds.
Configuration menu - View commit details
-
Copy full SHA for 5c30dc8 - Browse repository at this point
Copy the full SHA 5c30dc8View commit details -
Fallout from allowing some mutation in guards.
For some reason, allowing restricted mutation in match arms exposed an obvious case where a unique borrow can indeed fail, namely something like: ```rust match b { ... ref mut r if { (|| { let bar = &mut *r; **bar = false; })(); false } => { &mut *r } // ~~~~~~~ // | // This ends up holding a `&unique` borrow of `r`, but there ends up being an // implicit shared borrow in the guard thanks to rust-lang#49870 ... } ```
Configuration menu - View commit details
-
Copy full SHA for 638acd3 - Browse repository at this point
Copy the full SHA 638acd3View commit details -
Expand two-phase-borrows so that a case like this still compiles:
```rust fn main() { fn reuse<X>(_: &mut X) {} let mut t = 2f64; match t { ref mut _b if { false } => { reuse(_b); } _ => {} } } ``` Note: The way this is currently written is confusing; when `autoref` is off, then the arm body bindings (introduced by `bind_matched_candidate_for_arm_body`) are *also* used for the guard. (Any attempt to fix this needs to still ensure that the bindings used by the guard are introduced before the guard is evaluated.) (Once we turn NLL on by default, we can presumably simplify all of that.)
Configuration menu - View commit details
-
Copy full SHA for 3bc5073 - Browse repository at this point
Copy the full SHA 3bc5073View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5eebd36 - Browse repository at this point
Copy the full SHA 5eebd36View commit details -
Configuration menu - View commit details
-
Copy full SHA for 98d5e13 - Browse repository at this point
Copy the full SHA 98d5e13View commit details -
review feedback: fix indentation of pattern candidates to match code …
…elsewhere in file.
Configuration menu - View commit details
-
Copy full SHA for 2b5aa90 - Browse repository at this point
Copy the full SHA 2b5aa90View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4a5fa2 - Browse repository at this point
Copy the full SHA a4a5fa2View commit details -
Review feedback: Remove a fixme/tbd note and just add a note for the …
…post-NLL future. Driveby: just inline the two-line `fn inject_borrow` into its one call site and remove its definition.
Configuration menu - View commit details
-
Copy full SHA for 7f0c8f6 - Browse repository at this point
Copy the full SHA 7f0c8f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f7f7ac - Browse repository at this point
Copy the full SHA 2f7f7acView commit details -
Configuration menu - View commit details
-
Copy full SHA for 324ced8 - Browse repository at this point
Copy the full SHA 324ced8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d5cdc9 - Browse repository at this point
Copy the full SHA 9d5cdc9View commit details -
- compute bytes_to_copy more elegantly - add assert that written is 0 in fallback case
Configuration menu - View commit details
-
Copy full SHA for c7d6a01 - Browse repository at this point
Copy the full SHA c7d6a01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59b03b1 - Browse repository at this point
Copy the full SHA 59b03b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for c7312fb - Browse repository at this point
Copy the full SHA c7312fbView commit details -
Auto merge of rust-lang#50772 - nicokoch:fastcopy, r=alexcrichton
fs: copy: use copy_file_range on Linux Linux 4.5 introduced a new system call [copy_file_range](http://man7.org/linux/man-pages/man2/copy_file_range.2.html) to copy data from one file to another. This PR uses the new system call (if available). This has several advantages: 1. No need to constantly copy data from userspace to kernel space, if the buffer is small or the file is large 2. On some filesystems, like BTRFS, the kernel can leverage internal fs mechanisms for huge performance gains 3. Filesystems on the network dont need to copy data between the host and the client machine (they have to in the current read/write implementation) I have created a small library that also implements the new system call for some huge performance gains here: https://github.com/nicokoch/fastcopy Benchmark results are in the README
Configuration menu - View commit details
-
Copy full SHA for ec99b22 - Browse repository at this point
Copy the full SHA ec99b22View commit details
Commits on May 30, 2018
-
Configuration menu - View commit details
-
Copy full SHA for a4d899b - Browse repository at this point
Copy the full SHA a4d899bView commit details -
Auto merge of rust-lang#50783 - pnkfelix:issue-27282-match-borrows-it…
…s-input-take-three, r=nikomatsakis every match arm reads the match's borrowed input This PR changes the `match` codegen under NLL (and just NLL, at least for now) to make the following adjustments: * It adds a `-Z disable-ast-check-for-mutation-in-guard` which, as described, turns off the naive (conservative but also not 100% sound) check for mutation in guards of match arms. * We now borrow the match input at the outset and emit a special `ReadForMatch` statement (that, according to the *static* semantics, reads that borrowed match input) at the start of each match arm. The intent here is to catch cases where the match guard mutates the match input, either via an independent borrow or via `ref mut` borrows in that arm's pattern. * In order to ensure that `ref mut` borrows do not actually conflict with the emitted `ReadForMatch` statements, I expanded the two-phase-borrow system slightly, and also changed the MIR code gen so that under NLL, when there is a guard on a match arm, then each pattern variable ends up having *three* temporaries associated with it: 1. The first temporary will hold the substructure being matched; this is what we will move the (substructural) value into *if* the guard succeeds. 2. The second temporary also corresponds to the same value as the first, but we are just constructing this temporarily for use during the scope of the guard; it is unaliased and its sole referrer is the third temporary. 3. The third temporary is a reference to the second temporary. * (This sounds complicated, I know, but its actually *simpler* than what I was doing before and had checked into the repo, which was to sometimes construct the final value and then take a reference to it before evaluating the guard. See also PR rust-lang#49870.) Fix rust-lang#27282 This also provides a path towards resolving rust-lang#24535 aka rust-lang/rfcs#1006, at least once the `-Z disable-ast-check-for-mutation-in-guard` is just turned on by default (under NLL, that is. It is not sound under AST-borrowck). * But I did not want to make `#![feature(nll)]` imply that as part of this PR; that seemed like too drastic a change to me.
Configuration menu - View commit details
-
Copy full SHA for 8372e7b - Browse repository at this point
Copy the full SHA 8372e7bView commit details -
fs: copy: Use File::set_permissions instead of fs::set_permissions
We already got the open file descriptor at this point. Don't make the kernel resolve the path again.
Configuration menu - View commit details
-
Copy full SHA for 9b6940d - Browse repository at this point
Copy the full SHA 9b6940dView commit details -
Auto merge of rust-lang#51017 - estebank:crate-name-in-path, r=michae…
…lwoerister Use crate name for reexported `extern crate` paths Fix rust-lang#43189.
Configuration menu - View commit details
-
Copy full SHA for 2408095 - Browse repository at this point
Copy the full SHA 2408095View commit details -
Auto merge of rust-lang#51106 - davidtwco:issue-50934, r=nikomatsakis
Optimize the way that loans are killed in borrowck dataflow Fixes rust-lang#50934. r? @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for 20af72b - Browse repository at this point
Copy the full SHA 20af72bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c5ee3b6 - Browse repository at this point
Copy the full SHA c5ee3b6View commit details -
Auto merge of rust-lang#50880 - glandium:oom, r=SimonSapin
OOM handling changes As discussed in rust-lang#49668 (comment) and subsequent. This does have codegen implications. Even without the hooks, and with a handler that ignores the arguments, the compiler doesn't eliminate calling `rust_oom` with the `Layout`. Even if it managed to eliminate that, with the hooks, I don't know if the compiler would be able to figure out it can skip it if the hook is never set. A couple implementation notes: - I went with explicit enums rather than bools because it makes it clearer in callers what is being requested. - I didn't know what `feature` to put the hook setting functions behind. (and surprisingly, the compile went through without any annotation on the functions) - There's probably some bikeshedding to do on the naming. Cc: @SimonSapin, @sfackler
Configuration menu - View commit details
-
Copy full SHA for 4f99f37 - Browse repository at this point
Copy the full SHA 4f99f37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1402a10 - Browse repository at this point
Copy the full SHA 1402a10View commit details -
Replace libbacktrace with a submodule
While we're at it update the `backtrace` crate from crates.io. It turns out that the submodule's configure script has gotten a lot more finnicky as of late so also switch over to using the `cc` crate manually which allows to avoid some hacks around the configure script as well
Configuration menu - View commit details
-
Copy full SHA for 7c14a54 - Browse repository at this point
Copy the full SHA 7c14a54View commit details -
Auto merge of rust-lang#50955 - steveklabnik:update-libbacktrace, r=a…
…lexcrichton Update libbacktrace We haven't updated libbacktrace in two years. This is just blindly updating to the latest HEAD; I'd like to see what travis says. It at least builds on my machine, running some tests... This perpetuates the patches from rust-lang#30908
Configuration menu - View commit details
-
Copy full SHA for 74d0939 - Browse repository at this point
Copy the full SHA 74d0939View commit details -
Suggest using
as_ref
on some borrow errors [hack]When encountering the following code: ```rust struct Foo; fn takes_ref(_: &Foo) {} let ref opt = Some(Foo); opt.map(|arg| takes_ref(arg)); ``` Suggest using `opt.as_ref().map(|arg| takes_ref(arg));` instead. This is a stop gap solution until we expand typeck to deal with these cases in a more graceful way.
Configuration menu - View commit details
-
Copy full SHA for a19a03a - Browse repository at this point
Copy the full SHA a19a03aView commit details -
Auto merge of rust-lang#51100 - estebank:as-ref, r=oli-obk
Suggest using `as_ref` on some borrow errors [hack] When encountering the following code: ```rust struct Foo; fn takes_ref(_: &Foo) {} let ref opt = Some(Foo); opt.map(|arg| takes_ref(arg)); ``` Suggest using `opt.as_ref().map(|arg| takes_ref(arg));` instead. This is a stop gap solution until we expand typeck to deal with these cases in a more graceful way. rust-lang#43861
Configuration menu - View commit details
-
Copy full SHA for fddb46e - Browse repository at this point
Copy the full SHA fddb46eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9df0a41 - Browse repository at this point
Copy the full SHA 9df0a41View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1433f2 - Browse repository at this point
Copy the full SHA a1433f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c76b64 - Browse repository at this point
Copy the full SHA 5c76b64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85d44c4 - Browse repository at this point
Copy the full SHA 85d44c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca1ac6b - Browse repository at this point
Copy the full SHA ca1ac6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for b10c157 - Browse repository at this point
Copy the full SHA b10c157View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0895590 - Browse repository at this point
Copy the full SHA 0895590View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3da186b - Browse repository at this point
Copy the full SHA 3da186bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c53972 - Browse repository at this point
Copy the full SHA 6c53972View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06d88cd - Browse repository at this point
Copy the full SHA 06d88cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for b970fee - Browse repository at this point
Copy the full SHA b970feeView commit details -
Configuration menu - View commit details
-
Copy full SHA for b39a1d6 - Browse repository at this point
Copy the full SHA b39a1d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb2a0d6 - Browse repository at this point
Copy the full SHA cb2a0d6View commit details -
reset the "anonymous lifetime mode" for parenthesized where clauses
Background: The anonymous lifetime mode is used to prohibit elided lifetimes where they didn't used to be permitted, and instead require that `'_` be used. For example: ```rust impl Trait for Ref<T> { .. } // ^^^^^^ ERROR: should be `Ref<'_, T>` ``` When we are parsing the parts of the impl header, we enter into an alternate mode called `CreateParameter`. In this mode, we give an error for things like `Ref<T>`, but for elided lifetimes in a reference type like `&T` we make the elided lifetime into an in-band lifetime: https://github.com/rust-lang/rust/blob/4f99f37b7e213d69a489884f651adfc6d217cef5/src/librustc/hir/lowering.rs#L4017-L4035 This was not intended to change behavior because we only enter into that mode in contexts where elision was not historically permitted. However, the problem is that we fail to reset the mode when we enter into bounds like `Fn(&u32)`, where elision *was* allowed -- the same occurs for fn types like `fn(&u32`). This PR restores the original mode in those contexts.
Configuration menu - View commit details
-
Copy full SHA for 9acb351 - Browse repository at this point
Copy the full SHA 9acb351View commit details -
Configuration menu - View commit details
-
Copy full SHA for da69bbc - Browse repository at this point
Copy the full SHA da69bbcView commit details -
resolve: Make sure indeterminate and inconsistent macro resolutions a…
…lways generate errors
Configuration menu - View commit details
-
Copy full SHA for 345e7c3 - Browse repository at this point
Copy the full SHA 345e7c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d6b8c67 - Browse repository at this point
Copy the full SHA d6b8c67View commit details -
Auto merge of rust-lang#51215 - eddyb:visit-for-a-lifetime, r=nikomat…
…sakis rustc: don't visit lifetime parameters through visit_lifetime. Ideally we'd also not use the `Lifetime` struct for parameters, but I'll leave that to @varkor (rust-lang#48149). Fixes rust-lang#51185 (discovered while auditing all the `visit_lifetime` implementations). r? @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for 5d0631a - Browse repository at this point
Copy the full SHA 5d0631aView commit details -
Auto merge of rust-lang#51138 - spastorino:add-polonius-compare-mode,…
… r=pnkfelix Add polonius compare mode **This is now ready to review/merge**
Configuration menu - View commit details
-
Copy full SHA for e1eed38 - Browse repository at this point
Copy the full SHA e1eed38View commit details -
Remove
ObligationForest::cache_list
.It's never used in a meaningful way.
Configuration menu - View commit details
-
Copy full SHA for f46d021 - Browse repository at this point
Copy the full SHA f46d021View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5ffcf6 - Browse repository at this point
Copy the full SHA a5ffcf6View commit details
Commits on May 31, 2018
-
Auto merge of rust-lang#51220 - nikomatsakis:issue-51008-false-positi…
…ve-lifetime-must-be-declared, r=cramertj reset anonymous-lifetime-mode as we enter `()` scopes Background: The anonymous lifetime mode is used to prohibit elided lifetimes where they didn't used to be permitted, and instead require that `'_` be used. For example: ```rust impl Trait for Ref<T> { .. } // ^^^^^^ ERROR: should be `Ref<'_, T>` ``` When we are parsing the parts of the impl header, we enter into an alternate mode called `CreateParameter`. In this mode, we give an error for things like `Ref<T>`, but for elided lifetimes in a reference type like `&T` we make the elided lifetime into an in-band lifetime: https://github.com/rust-lang/rust/blob/4f99f37b7e213d69a489884f651adfc6d217cef5/src/librustc/hir/lowering.rs#L4017-L4035 This was not intended to change behavior because we only enter into that mode in contexts where elision was not historically permitted. However, the problem is that we fail to reset the mode when we enter into bounds like `Fn(&u32)`, where elision *was* allowed -- the same occurs for fn types like `fn(&u32`). This PR restores the original mode in those contexts. Fixes rust-lang#51008 r? @cramertj
Configuration menu - View commit details
-
Copy full SHA for c1287c0 - Browse repository at this point
Copy the full SHA c1287c0View commit details -
Auto merge of rust-lang#51145 - petrochenkov:npbot, r=alexcrichton
resolve: Make sure indeterminate and inconsistent macro resolutions always generate errors Addresses the issue described in rust-lang#50911 (comment) I haven't come up with a minimized reproduction yet, but confirmed that `npbot` now generates the correct error with `![feature(use_extern_macros)]`.
Configuration menu - View commit details
-
Copy full SHA for e38554c - Browse repository at this point
Copy the full SHA e38554cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c883d6 - Browse repository at this point
Copy the full SHA 1c883d6View commit details -
By calling `bump()` after getting the first char, to avoid a redundant `ident_continue()` test on it.
Configuration menu - View commit details
-
Copy full SHA for 3af6291 - Browse repository at this point
Copy the full SHA 3af6291View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5adba8e - Browse repository at this point
Copy the full SHA 5adba8eView commit details -
Auto merge of rust-lang#51127 - frewsxcv:frewsxcv-discriminant, r=Gui…
…llaumeGomez Add doc link from discriminant struct to function. None
Configuration menu - View commit details
-
Copy full SHA for a47b2d0 - Browse repository at this point
Copy the full SHA a47b2d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for e9b6355 - Browse repository at this point
Copy the full SHA e9b6355View commit details -
Configuration menu - View commit details
-
Copy full SHA for 665866d - Browse repository at this point
Copy the full SHA 665866dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1236d57 - Browse repository at this point
Copy the full SHA 1236d57View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8230133 - Browse repository at this point
Copy the full SHA 8230133View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0347494 - Browse repository at this point
Copy the full SHA 0347494View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0639451 - Browse repository at this point
Copy the full SHA 0639451View commit details -
Auto merge of rust-lang#51182 - eddyb:not-just-visibility, r=nikomats…
…akis [MIR] Change "scopes" from "visibility scopes" to "source scopes". These scopes are already used for source-oriented diagnostics, lint levels and unsafety checks. This PR generalizes the naming around scopes, making the type `SourceScope`, and flips (across several commits) the relationship/priority between `LocalDecl`'s "visibility" and "syntactic" scopes. r? @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for 30cae58 - Browse repository at this point
Copy the full SHA 30cae58View commit details -
Auto merge of rust-lang#51203 - nnethercote:obligations-2, r=michaelw…
…oerister Two minor `obligation_forest` tweaks. Pretty minimal improvements, but improvements nonetheless.
Configuration menu - View commit details
-
Copy full SHA for ae2f299 - Browse repository at this point
Copy the full SHA ae2f299View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72ab4b4 - Browse repository at this point
Copy the full SHA 72ab4b4View commit details -
change
PointerKind::Implicit
to a note`PointerKind` is included in `LoanPath` and hence forms part of the equality check; this led to having two unequal paths that both represent `*x`, depending on whether the `*` was inserted automatically or explicitly. Bad mojo. The `note` field, in contrast, is intended more-or-less primarily for this purpose of adding extra data.
Configuration menu - View commit details
-
Copy full SHA for 8a624b7 - Browse repository at this point
Copy the full SHA 8a624b7View commit details -
typeck: Do not pass the field check on field error
If a struct pattern has a field error return an error.
Configuration menu - View commit details
-
Copy full SHA for 8f64415 - Browse repository at this point
Copy the full SHA 8f64415View commit details -
Auto merge of rust-lang#51235 - nikomatsakis:issue-51117-borrowck-imp…
…licit-deref, r=eddyb remove notion of Implicit derefs from mem-cat `PointerKind` is included in `LoanPath` and hence forms part of the equality check; this led to having two unequal paths that both represent `*x`, depending on whether the `*` was inserted automatically or explicitly. Bad mojo. Fixes rust-lang#51117 r? @eddyb
Configuration menu - View commit details
-
Copy full SHA for 6de4ec6 - Browse repository at this point
Copy the full SHA 6de4ec6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 376b640 - Browse repository at this point
Copy the full SHA 376b640View commit details -
Configuration menu - View commit details
-
Copy full SHA for 12c330c - Browse repository at this point
Copy the full SHA 12c330cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d7d5e9 - Browse repository at this point
Copy the full SHA 0d7d5e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dec03b - Browse repository at this point
Copy the full SHA 8dec03bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8939fe6 - Browse repository at this point
Copy the full SHA 8939fe6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97a0d46 - Browse repository at this point
Copy the full SHA 97a0d46View commit details -
Auto merge of rust-lang#51050 - symphorien:fstatat, r=kennytm
std::fs::DirEntry.metadata(): use fstatat instead of lstat when possible When reading a directory with `read_dir`, querying metadata for a resulting `DirEntry` is done by building the whole path and then `lstat`ing it, which requires the kernel to resolve the whole path. Instead, one can use the file descriptor to the enumerated directory and use `fstatat`. This make the resolving step unnecessary. This PR implements using `fstatat` on linux, android and emscripten. ## Compatibility across targets `fstatat` is POSIX. * Linux >= 2.6.19 according to https://linux.die.net/man/2/fstatat * android according to https://android.googlesource.com/platform/bionic/+/master/libc/libc.map.txt#392 * emscripten according to https://github.com/kripken/emscripten/blob/7f89560101843198787530731f40a65288f6f15f/system/include/libc/sys/stat.h#L76 The man page says "A similar system call exists on Solaris." but I haven't found it. ## Compatibility with old platforms This was introduced with glibc 2.4 according to the man page. The only information I could find about the minimal version of glibc rust must support is this discussion https://internals.rust-lang.org/t/bumping-glibc-requirements-for-the-rust-toolchain/5111/10 The conclusion, if I understand correctly, is that currently rust supports glibc >= 2.3.4 but the "real" requirement is Centos 5 with glibc 2.5. This PR would make the minimal version 2.4, so this should be fine. ## Benefit I did the following silly benchmark: ```rust use std::io; use std::fs; use std::os::linux::fs::MetadataExt; use std::time::Instant; fn main() -> Result<(), io::Error> { let mut n = 0; let mut size = 0; let start = Instant::now(); for entry in fs::read_dir("/nix/store/.links")? { let entry = entry?; let stat = entry.metadata()?; size += stat.st_size(); n+=1; } println!("{} files, size {}, time {:?}", n, size, Instant::now().duration_since(start)); Ok(()) } ``` On warm cache, with current rust nightly: ``` 1014099 files, size 76895290022, time Duration { secs: 2, nanos: 65832118 } ``` (between 2.1 and 2.9 seconds usually) With this PR: ``` 1014099 files, size 76895290022, time Duration { secs: 1, nanos: 581662953 } ``` (1.5 to 1.6 seconds usually). approximately 40% faster :) On cold cache there is not much to gain because path lookup (which we spare) would have been a cache hit: Before ``` 1014099 files, size 76895290022, time Duration { secs: 391, nanos: 739874992 } ``` After ``` 1014099 files, size 76895290022, time Duration { secs: 388, nanos: 431567396 } ``` ## Testing The tests were run on linux `x86_64` ``` python x.py test src/tools/tidy ./x.py test src/libstd ``` and the above benchmark. I did not test any other target.
Configuration menu - View commit details
-
Copy full SHA for 5342d40 - Browse repository at this point
Copy the full SHA 5342d40View commit details -
Configuration menu - View commit details
-
Copy full SHA for 177337d - Browse repository at this point
Copy the full SHA 177337dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 426b63f - Browse repository at this point
Copy the full SHA 426b63fView commit details -
Configuration menu - View commit details
-
Copy full SHA for bad9fef - Browse repository at this point
Copy the full SHA bad9fefView commit details -
Configuration menu - View commit details
-
Copy full SHA for b83daea - Browse repository at this point
Copy the full SHA b83daeaView commit details -
Rollup merge of rust-lang#49546 - GuillaumeGomez:stabilize-short-erro…
…r-format, r=oli-obk Stabilize short error format r? @oli-obk Added in rust-lang#44636
Configuration menu - View commit details
-
Copy full SHA for 0345dac - Browse repository at this point
Copy the full SHA 0345dacView commit details -
Rollup merge of rust-lang#51123 - akoserwal:master, r=Mark-Simulacrum
Update build instructions It get stuck at the cloning step. `./x.py build ` Updating only changed submodules Updating submodule src/llvm Submodule 'src/llvm' (https://github.com/rust-lang/llvm.git) registered for path 'src/llvm' Cloning into '/home/username/rust/src/llvm'...
Configuration menu - View commit details
-
Copy full SHA for 2f0e3d3 - Browse repository at this point
Copy the full SHA 2f0e3d3View commit details -
Rollup merge of rust-lang#51146 - dlrobertson:fix_51102, r=estebank
typeck: Do not pass the field check on field error If a struct pattern has a field error return an error. Fixes: rust-lang#51102
Configuration menu - View commit details
-
Copy full SHA for a729d97 - Browse repository at this point
Copy the full SHA a729d97View commit details -
Rollup merge of rust-lang#51193 - GuillaumeGomez:fixes-style-issues, …
…r=QuietMisdreavus Fixes some style issues in rustdoc "implementations on Foreign types" Fixes rust-lang#51113. r? @QuietMisdreavus
Configuration menu - View commit details
-
Copy full SHA for 8efecc1 - Browse repository at this point
Copy the full SHA 8efecc1View commit details -
Rollup merge of rust-lang#51213 - nicokoch:copy_permissions, r=cramertj
fs: copy: Use File::set_permissions instead of fs::set_permissions We already got the open file descriptor at this point. Don't make the kernel resolve the path again.
Configuration menu - View commit details
-
Copy full SHA for af4acbe - Browse repository at this point
Copy the full SHA af4acbeView commit details -
Rollup merge of rust-lang#51227 - uuttff8:master, r=dtolnay
mod.rs isn't beautiful I hate this spaces.
Configuration menu - View commit details
-
Copy full SHA for 33ad846 - Browse repository at this point
Copy the full SHA 33ad846View commit details -
Rollup merge of rust-lang#51240 - nnethercote:parse-2, r=nikomatsakis
Two minor parsing tweaks
Configuration menu - View commit details
-
Copy full SHA for 7552c2e - Browse repository at this point
Copy the full SHA 7552c2eView commit details -
Add implementations for Any + Send + Sync
Implement `is`, `downcast_ref`, `downcast_mut` and `Debug` for `Any + Send + Sync`.
Configuration menu - View commit details
-
Copy full SHA for 72433e1 - Browse repository at this point
Copy the full SHA 72433e1View commit details -
Implement
downcast
forArc<Any + Send + Sync>
We only need to implement it for `Any + Send + Sync` because in practice that's the only useful combination for `Arc` and `Any`. Implementation for rust-lang#44608 under the `rc_downcast` feature.
Configuration menu - View commit details
-
Copy full SHA for 37f5cf5 - Browse repository at this point
Copy the full SHA 37f5cf5View commit details -
Update
Arc
andRc
to useNonNull::cast
to cast the inner pointersThis avoids an `unsafe` block in each case.
Configuration menu - View commit details
-
Copy full SHA for 0c7bf56 - Browse repository at this point
Copy the full SHA 0c7bf56View commit details -
Make the Any+Send+Sync examples use the right trait bounds, and fix a small whitespace issue.
Configuration menu - View commit details
-
Copy full SHA for 87c3d7b - Browse repository at this point
Copy the full SHA 87c3d7bView commit details -
Auto merge of rust-lang#51257 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 7 pull requests Successful merges: - rust-lang#49546 (Stabilize short error format) - rust-lang#51123 (Update build instructions) - rust-lang#51146 (typeck: Do not pass the field check on field error) - rust-lang#51193 (Fixes some style issues in rustdoc "implementations on Foreign types") - rust-lang#51213 (fs: copy: Use File::set_permissions instead of fs::set_permissions) - rust-lang#51227 (mod.rs isn't beautiful) - rust-lang#51240 (Two minor parsing tweaks) Failed merges:
Configuration menu - View commit details
-
Copy full SHA for 1ffb321 - Browse repository at this point
Copy the full SHA 1ffb321View commit details -
Auto merge of rust-lang#51096 - matthewjasper:reverse-normalization-b…
…ounds, r=nikomatsakis Register outlives predicates from queries the right way around. Closes rust-lang#49354 The region constraints from queries need to be reversed from sub to outlives. Note: wf checking reports these errors before NLL, so I'm not sure if there's any case when these predicates need to be created at all. cc @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for efc508b - Browse repository at this point
Copy the full SHA efc508bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32dcaab - Browse repository at this point
Copy the full SHA 32dcaabView commit details -
Make the OOM hook return
()
rather than!
Per discussion in rust-lang#51245 (comment) This allows more flexibility in what can be done with the API. This also splits `rtabort!` into `dumb_print` happening in the default hook and `abort_internal`, happening in the actual oom handler after calling the hook. Registering an empty function thus makes the oom handler not print anything but still abort. Cc: @alexcrichton
Configuration menu - View commit details
-
Copy full SHA for b945be7 - Browse repository at this point
Copy the full SHA b945be7View commit details
Commits on Jun 1, 2018
-
Auto merge of rust-lang#50836 - jsgf:arc-downcast, r=SimonSapin
Arc downcast Implement `downcast` for `Arc<Any + Send + Sync>` as part of rust-lang#44608, and gated by the same `rc_downcast` feature. This PR is mostly lightly-edited cut'n'paste. This has two additional changes: - The `downcast` implementation needs `Any + Send + Sync` implementations for `is` and `Debug`, and I added `downcast_ref` and `downcast_mut` for completeness/consistency. (Can these be insta-stabilized?) - At @SimonSapin's suggestion, I converted `Arc` and `Rc` to use `NonNull::cast` to avoid an `unsafe` block in each which tidied things up nicely.
Configuration menu - View commit details
-
Copy full SHA for b7a9d4e - Browse repository at this point
Copy the full SHA b7a9d4eView commit details -
Replace
if
withif and only if
in the definition dox ofSync
The old text was: "The precise definition is: a type T is Sync if &T is Send." Since we've also got ``` impl<'a, T> Send for &'a T where T: Sync + ?Sized, ``` I purpose we can change the `if` to `if and only if` to make it more precise.
Configuration menu - View commit details
-
Copy full SHA for 8e90a2d - Browse repository at this point
Copy the full SHA 8e90a2dView commit details -
Auto merge of rust-lang#51171 - faern:const-bswap-ctpop-cttz-ctlz, r=…
…oli-obk Make some std::intrinsics `const fn`s Making some rustc intrinsics (`ctpop`, `cttz`, `ctlz` and `bswap`) `const fn`s. This is a pre-step to being able to make `swap_bytes`, `to_be` and `from_be` constant functions. That in itself could be ergonomic and useful. But even better is that it would allow `Ipv4Addr::new` etc becoming `const fn`s as well. Which might be really useful since I find it quite common to want to define them as constants. r? @oli-obk
Configuration menu - View commit details
-
Copy full SHA for 63cd4a3 - Browse repository at this point
Copy the full SHA 63cd4a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1dcda69 - Browse repository at this point
Copy the full SHA 1dcda69View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c3eff9 - Browse repository at this point
Copy the full SHA 2c3eff9View commit details -
Configuration menu - View commit details
-
Copy full SHA for f9f90ed - Browse repository at this point
Copy the full SHA f9f90edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 24dfcbe - Browse repository at this point
Copy the full SHA 24dfcbeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 22f6163 - Browse repository at this point
Copy the full SHA 22f6163View commit details -
Configuration menu - View commit details
-
Copy full SHA for 12e8359 - Browse repository at this point
Copy the full SHA 12e8359View commit details -
Auto merge of rust-lang#51060 - michaelwoerister:thread-safe-consts, …
…r=Zoxc Make const decoding thread-safe. This is an alternative to rust-lang#50957. It's a proof of concept (e.g. it doesn't adapt metadata decoding, just the incr. comp. cache) but I think it turned out nice. It's rather simple and does not require passing around a bunch of weird closures, like we currently do. If you (@Zoxc & @oli-obk) think this approach is good then I'm happy to finish and clean this up. Note: The current version just spins when it encounters an in-progress decoding. I don't have a strong preference for this approach. Decoding concurrently is equally fine by me (or maybe even better because it doesn't require poisoning). r? @Zoxc
Configuration menu - View commit details
-
Copy full SHA for 4412902 - Browse repository at this point
Copy the full SHA 4412902View commit details -
Auto merge of rust-lang#51181 - mbrubeck:prelude, r=petrochenkov
Add std/core to prelude if extern_prelude enabled Fixes rust-lang#50605
Configuration menu - View commit details
-
Copy full SHA for 577a5b2 - Browse repository at this point
Copy the full SHA 577a5b2View commit details -
Remove feature flag from fs::read_to_string example
This is stable, and so no longer needed
Configuration menu - View commit details
-
Copy full SHA for 48bd07e - Browse repository at this point
Copy the full SHA 48bd07eView commit details -
Configuration menu - View commit details
-
Copy full SHA for d6c63ec - Browse repository at this point
Copy the full SHA d6c63ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9eb4f73 - Browse repository at this point
Copy the full SHA 9eb4f73View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85acb1d - Browse repository at this point
Copy the full SHA 85acb1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b7aabaa - Browse repository at this point
Copy the full SHA b7aabaaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 969296b - Browse repository at this point
Copy the full SHA 969296bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d402d2d - Browse repository at this point
Copy the full SHA d402d2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for c6dbb14 - Browse repository at this point
Copy the full SHA c6dbb14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 461fa84 - Browse repository at this point
Copy the full SHA 461fa84View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2119d04 - Browse repository at this point
Copy the full SHA 2119d04View commit details -
Auto merge of rust-lang#51264 - glandium:oom, r=alexcrichton
Make the OOM hook return `()` rather than `!` Per discussion in rust-lang#51245 (comment) This allows more flexibility in what can be done with the API. This also splits `rtabort!` into `dumb_print` happening in the default hook and `abort_internal`, happening in the actual oom handler after calling the hook. Registering an empty function thus makes the oom handler not print anything but still abort. Cc: @alexcrichton
Configuration menu - View commit details
-
Copy full SHA for f913231 - Browse repository at this point
Copy the full SHA f913231View commit details -
optimize joining and concatenation for slices
for both Vec<T> and String - eliminates the boolean first flag in fn join() for String only - eliminates repeated bounds checks in join(), concat() - adds fast paths for small string separators up to a len of 4 bytes
Configuration menu - View commit details
-
Copy full SHA for d866082 - Browse repository at this point
Copy the full SHA d866082View commit details -
old tests cover the new fast path of str joining already this adds tests for joining into Strings with long separators (>4 byte) and for joining into Vec<T>, T: Clone + !Copy. Vec<T: Copy> will be specialised when specialisation type inference bugs are fixed.
Configuration menu - View commit details
-
Copy full SHA for b2fd7da - Browse repository at this point
Copy the full SHA b2fd7daView commit details -
Configuration menu - View commit details
-
Copy full SHA for d0d0885 - Browse repository at this point
Copy the full SHA d0d0885View commit details -
incorporate changes from code review
further reduce unsafe fn calls reduce right drift assert! sufficient capacity
Configuration menu - View commit details
-
Copy full SHA for 12bd288 - Browse repository at this point
Copy the full SHA 12bd288View commit details -
Auto merge of rust-lang#50340 - Emerentius:master, r=alexcrichton
optimize joining for slices This improves the speed of string joining up to 3x. It removes the boolean flag check every iteration, eliminates repeated bounds checks and adds a fast paths for small separators up to a len of 4 bytes These optimizations gave me ~10%, ~50% and ~80% improvements respectively over the previous speed. Those are multiplicative. 3x improvement happens for the optimal case of joining many small strings together in my microbenchmarks. Improvements flatten out for larger strings of course as more time is spent copying bits around. I've run a few benchmarks [with this code](https://github.com/Emerentius/join_bench). They are pretty noise despite high iteration counts, but in total one can see the trends. ``` len_separator len_string n_strings speedup 4 10 10 2.38 4 10 100 3.41 4 10 1000 3.43 4 10 10000 3.25 4 100 10 2.23 4 100 100 2.73 4 100 1000 1.33 4 100 10000 1.14 4 1000 10 1.33 4 1000 100 1.15 4 1000 1000 1.08 4 1000 10000 1.04 10 10 10 1.61 10 10 100 1.74 10 10 1000 1.77 10 10 10000 1.75 10 100 10 1.58 10 100 100 1.65 10 100 1000 1.24 10 100 10000 1.12 10 1000 10 1.23 10 1000 100 1.11 10 1000 1000 1.05 10 1000 10000 0.997 100 10 10 1.66 100 10 100 1.78 100 10 1000 1.28 100 10 10000 1.16 100 100 10 1.37 100 100 100 1.26 100 100 1000 1.09 100 100 10000 1.0 100 1000 10 1.19 100 1000 100 1.12 100 1000 1000 1.05 100 1000 10000 1.12 ``` The string joining with small or empty separators is now ~50% faster than the old concatenation (small strings). The same approach can also improve the performance of joining into vectors. If this approach is acceptable, I can apply it for concatenation and for vectors as well. Alternatively, concat could just call `.join("")`.
Configuration menu - View commit details
-
Copy full SHA for 747e655 - Browse repository at this point
Copy the full SHA 747e655View commit details -
Configuration menu - View commit details
-
Copy full SHA for c6bebf4 - Browse repository at this point
Copy the full SHA c6bebf4View commit details -
Auto merge of rust-lang#51163 - Amanieu:hashmap_layout, r=SimonSapin
Simplify HashMap layout calculation by using Layout `RawTable` uses a single allocation to hold both the array of hashes and the array of key/value pairs. This PR changes `RawTable` to use `Layout` when calculating the amount of memory to allocate instead of performing the calculation manually. r? @SimonSapin
Configuration menu - View commit details
-
Copy full SHA for aa094a4 - Browse repository at this point
Copy the full SHA aa094a4View commit details -
Auto merge of rust-lang#50108 - Zoxc:sync-gcx, r=mw
Make GlobalCtxt thread-safe r? @michaelwoerister
Configuration menu - View commit details
-
Copy full SHA for bfa41f2 - Browse repository at this point
Copy the full SHA bfa41f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21423ec - Browse repository at this point
Copy the full SHA 21423ecView commit details -
Rollup merge of rust-lang#51135 - estebank:sugg-7575, r=oli-obk
Tweak output on E0599 for assoc fn used as method - Use suggestion instead of `help` when possible - Add primary span label - Remove incorrect `help` suggestion using incorrect syntax - Do not refer to only one possible candidate as `candidate #1`, refer to it as `the candidate`
Configuration menu - View commit details
-
Copy full SHA for 361a82c - Browse repository at this point
Copy the full SHA 361a82cView commit details -
Rollup merge of rust-lang#51152 - crlf0710:patch-1, r=kennytm
Replace `if` with `if and only if` in the definition dox of `Sync` The old text was: "The precise definition is: a type `T` is `Sync` if `&T` is Send." Since we've also got ``` impl<'a, T> Send for &'a T where T: Sync + ?Sized, ``` I purpose we can change the `if` to `if and only if` to make it more precise.
Configuration menu - View commit details
-
Copy full SHA for b6013b2 - Browse repository at this point
Copy the full SHA b6013b2View commit details -
Rollup merge of rust-lang#51262 - GuillaumeGomez:add-missing-whitespa…
…ce, r=QuietMisdreavus Add missing whitespace in num example r? @QuietMisdreavus
Configuration menu - View commit details
-
Copy full SHA for 4959cb1 - Browse repository at this point
Copy the full SHA 4959cb1View commit details -
Rollup merge of rust-lang#51272 - steveklabnik:remove_feature_flag, r…
…=QuietMisdreavus Remove feature flag from fs::read_to_string example This is stable, and so no longer needed
Configuration menu - View commit details
-
Copy full SHA for 29a4cd0 - Browse repository at this point
Copy the full SHA 29a4cd0View commit details -
Rollup merge of rust-lang#51286 - Mark-Simulacrum:1.26.2-release-note…
…s, r=Mark-Simulacrum Pull 1.26.2 release notes into master None
Configuration menu - View commit details
-
Copy full SHA for c8f9b7c - Browse repository at this point
Copy the full SHA c8f9b7cView commit details
Commits on Jun 2, 2018
-
Auto merge of rust-lang#51287 - Mark-Simulacrum:rollup, r=Mark-Simula…
…crum Rollup of 5 pull requests Successful merges: - rust-lang#51135 (Tweak output on E0599 for assoc fn used as method) - rust-lang#51152 (Replace `if` with `if and only if` in the definition dox of `Sync`) - rust-lang#51262 (Add missing whitespace in num example) - rust-lang#51272 (Remove feature flag from fs::read_to_string example) - rust-lang#51286 (Pull 1.26.2 release notes into master) Failed merges:
Configuration menu - View commit details
-
Copy full SHA for 5f7c9da - Browse repository at this point
Copy the full SHA 5f7c9daView commit details -
Auto merge of rust-lang#51270 - nicokoch:issue-51266, r=TimNN
fs: copy: Add EPERM to fallback error conditions Fixes rust-lang#51266
Configuration menu - View commit details
-
Copy full SHA for edae1cc - Browse repository at this point
Copy the full SHA edae1ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for b9bf4f1 - Browse repository at this point
Copy the full SHA b9bf4f1View commit details