forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Update stdsimd #10
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
Open
parched
wants to merge
1,552
commits into
parched:master
Choose a base branch
from
gnzlbg:usimd
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Update stdsimd #10
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 104 bytes to 72 bytes on x86-64. This slightly reduces instruction counts. Also add an assertion about the size.
Since `compiler_builtins` is being injected automatically, its docs aren't masked. This commit masks the crate's docs if it's brought in as an extern crate.
…stebank suggestion-diagnostics: as_ref improve snippet Improve the code snippet suggested in suggestion-diagnostics when suggesting the use of as_ref. Given: ```rust fn test(x: &usize) {} fn main() { Some(42).map(|x| test(x)); } ``` Suggest ``` help: consider using `as_ref` instead: `as_ref().map` ``` Instead of ``` help: consider using `as_ref` instead: `as_ref().` ```
…veklabnik Convert old first edition links to current edition one r? @steveklabnik
Update the future/task API This change updates the future and task API as discussed in the stabilization RFC at rust-lang/rfcs#2592. Changes: - Replacing UnsafeWake with RawWaker and RawWakerVtable - Removal of LocalWaker - Removal of Arc-based Wake trait
…aelwoerister Reduce the size of `hir::Expr`. From 104 bytes to 72 bytes on x86-64. This slightly reduces instruction counts. Also add an assertion about the size.
Tweak "incompatible match arms" error - Point at the body expression of the match arm with the type error. - Point at the prior match arms explicitly stating the evaluated type. - Point at the entire match expr in a secondary span, instead of primary. - For type errors in the first match arm, the cause is outside of the match, treat as implicit block error to give a more appropriate error. Fix rust-lang#46776, fix rust-lang#57206. CC rust-lang#24157, rust-lang#38234.
Hidden suggestion support Add way to hide suggestion snippet window from cli output to avoid cluttered spans that don't enhance understanding. r? @pietroalbini CC @zackmdavis
Enable comparing fat pointers Also refactor our binops a bit to make that happen more easily. r? @oli-obk
Extract block to insert an intrinsic into its own function r? @eddyb
Rollup of 8 pull requests Successful merges: - rust-lang#57451 (suggestion-diagnostics: as_ref improve snippet) - rust-lang#57856 (Convert old first edition links to current edition one) - rust-lang#57992 (Update the future/task API) - rust-lang#58258 (Reduce the size of `hir::Expr`.) - rust-lang#58267 (Tweak "incompatible match arms" error) - rust-lang#58296 (Hidden suggestion support) - rust-lang#58301 (Enable comparing fat pointers) - rust-lang#58308 (Extract block to insert an intrinsic into its own function) Failed merges: r? @ghost
…s, r=michaelwoerister Add more profiler events - Adds Start\Stop events for time spent loading incremental query results from disk. - Adds Start\Stop events for time spent blocked waiting for queries to complete (when parallel queries are enabled). r? @michaelwoerister
… r=pnkfelix Closure bounds fixes * Ensures that "nice region errors" are buffered so that they are sorted and migrated correctly. * Propagates fewer constraints for closures (cc rust-lang#58178) * Propagate constraints from closures more precisely (rust-lang#58127) Closes rust-lang#58127 r? @nikomatsakis
Add an option to print the status of incremental tasks / dep nodes after running them r? @michaelwoerister
Check user type annotations for range patterns. Fixes rust-lang#58299. This PR builds on the fix from rust-lang#58161 (which fixed miscompilation caused by the introduction of `AscribeUserType` patterns for associated constants) to start checking these patterns are well-formed for ranges (previous fix just ignored them so that miscompilation wouldn't occur). r? @arielb1
…haelwoerister rustc: Implement incremental "fat" LTO Currently the compiler will produce an error if both incremental compilation and full fat LTO is requested. With recent changes and the advent of incremental ThinLTO, however, all the hard work is already done for us and it's actually not too bad to remove this error! This commit updates the codegen backend to allow incremental full fat LTO. The semantics are that the input modules to LTO are all produce incrementally, but the final LTO step is always done unconditionally regardless of whether the inputs changed or not. The only real incremental win we could have here is if zero of the input modules changed, but that's so rare it's unlikely to be worthwhile to implement such a code path. cc rust-lang#57968 cc rust-lang/cargo#6643
specify "upper camel case" in style lint Also, fix an issue where internal upper case letters were converted to lower case. Fixes rust-lang#57319.
…ntril Notify @topecongiro when the state of rustfmt has changed I would like to get notified when the state of rustfmt has changed. Context: I am currently a leader of the rustfmt working group. cc @nrc do you still want to get notified?
Rollup of 7 pull requests Successful merges: - rust-lang#58309 (Add more profiler events) - rust-lang#58347 (Closure bounds fixes) - rust-lang#58365 (Add an option to print the status of incremental tasks / dep nodes after running them) - rust-lang#58371 (Check user type annotations for range patterns.) - rust-lang#58378 (rustc: Implement incremental "fat" LTO) - rust-lang#58407 (specify "upper camel case" in style lint) - rust-lang#58449 (Notify @topecongiro when the state of rustfmt has changed) Failed merges: r? @ghost
…ecker as a field.
Miri has been moved to `rust-lang` a couple of days ago.
…turon Re-implement leak check in terms of universes This PR temporarily restores the leak-check, but implemented in terms of universes. This is not because the leak check behavior was necessarily **correct**, but because (a) we may want to have a transition period and because (b) we want to have more breathing room to work through the full implications of handling higher-ranked types correctly. Note that this PR builds atop rust-lang#58056. Fixes rust-lang#58451 Fixes rust-lang#46989 Fixes rust-lang#57639 r? @aturon cc @arielb1, @lqd ~~Temporary note: I've not finished running `./x.py test` locally -- I'm confident a lot of error messages in tests will need updating. I sort of expect them to revert to the older, (imo) less good error messages, which is mildly unfortunate. There might be a way to preserve the new error messages, not sure.~~
…atomic-integers, r=dtolnay Destabilize fixed-width const defined atomic integers With this PR version 1.34.0 onwards const declarations of atomic integers will be unstable. * Closes rust-lang#58089 * Reverts partially: rust-lang#57425
improve Pin documentation Incorporates a bunch of the documentation-related comments that came up when discussing `Pin` stabilization. Cc @alexcrichton @withoutboats @cramertj @jonhoo Fixes rust-lang#58130
…in-nll, r=pnkfelix Erroneous loop diagnostic in nll Closes rust-lang#53773 r? @nikomatsakis
This helps to avoid merge conflicts when concurrent PRs append features to the end of the list.
Wrap write_bytes in a function. Move docs This will allow us to add debug assertions. See issue rust-lang#53871.
…r=SimonSapin Deprecate the unstable Vec::resize_default As a way to either get additional feedback to stabilize or help move nightly users off it. Tracking issue: rust-lang#41758 (comment) r? @SimonSapin
deprecate before_exec in favor of unsafe pre_exec Fixes rust-lang#39575 As per the [lang team decision](rust-lang#39575 (comment)): > The language team agreed that before_exec should be unsafe, and leaves the details of a transition plan to the libs team. Cc @alexcrichton @rust-lang/libs how would you like to proceed?
override `VecDeque::try_rfold`, also update iterator This keeps the slice based iteration and updates the iterator state after each slice. It also uses a loop to reduce the amount of code. This uses unsafe code, so some thorough review would be appreciated. Cc @RalfJung
…s-surrounding-lifetimes, r=estebank Suggest removing parentheses surrounding lifetimes Fixes rust-lang#57386. r? @estebank
fix overlapping references in BTree This fixes two kinds of overlapping references in BTree (both found by running the BTree test suite in Miri). In `into_slices_mut`, we did `k.into_key_slice_mut()` followed by `self.into_val_slice_mut()` (where `k` is a copy of `self`). Calling `into_val_slice_mut` calls `self.len()`, which creates a shared reference to `NodeHeader`, which unfortunately (due to padding) overlaps with the mutable reference returned by `into_key_slice_mut`. Hence the key slice got (partially) invalidated. The fix is to avoid creating an `&NodeHeader` after the first slice got created. In the iterators, we used to first create the references that will be returned, and then perform the walk on the tree. Walking the tree creates references (such as `&mut InternalNode`) that overlap with all of the keys and values stored in a pointer; in particular, they overlap with the references the iterator will later return. This is fixed by reordering the operations of walking the tree and obtaining the inner references. The test suite still passes (and it passes in Miri now!), but there is a lot of code here that I do not understand...
Add a note about 2018e if someone uses `try {` in 2015e Inspired by rust-lang#58491, where a `try_blocks` example was accidentally run in 2015, which of course produces a bunch of errors. What's the philosophy about gating for this? The keyword is stably a keyword in 2018, so I haven't gated it for now but am not mentioning what the keyword _does_. Let me know if I should do differently. Resolves rust-lang#53672
remove a bit of dead code [Six years](rust-lang@5dc5efe) seem to be a long enough transition period 🤣
cleanup macro after 2018 transition We can now use `?`
…ruction, r=GuillaumeGomez Dedup a rustdoc diagnostic construction None
…frewsxcv fix small documentation typo Thanks to @stjepang for catching my mistake.
Search for target_triple.json only if builtin target not found Before this commit, if the builtin target was found, but an error happened when instantiating it (e.g. validating the target specification file failed, etc.), then we ignored those errors and proceeded to try to find a `target_triple.json` file, and if that failed, reported that as an error. With this commit, if rustc is supposed to provide the builtin target, and something fails while instantiating it, that error will get properly propagated. r? @oli-obk
… r=alexcrichton Docs: put Future trait into spotlight If a function returns a type that implements `Future`, there should be a small "i" symbol next to it indicating the return type implements an important trait.
…n, r=matthewjasper Fixes rust-lang#58586: Make E0505 erronous example fail for the 2018 edition The original example worked for 2015, but not the 2018 edition of Rust. Borrowing the moved value after ownership is transferred seems required for 2018. [this](rust-lang/rust@rust-lang:f66e469...gurgalex:b2a02c8#diff-4ca866aea4a6efecd732f1975faaad88R1564) line though is correct for 2018, but not for the 2015 edition. Fix rust-lang#58586
…oli-obk miri: explain why we use static alignment in ref-to-place conversion @eddyb @oli-obk do you think this makes sense? Or should we use the run-time alignment (`align_of_val`)? I am a bit worried about custom DSTs, but that affects way more areas of Miri so I'd ignore them for now. r? @oli-obk
…marks, r=KodrAus introduce benchmarks of BTreeSet.intersection 16 tests combining 4 kinds of contents with different sizes exposing edge cases. The ones with asymmetric sizes are addressed by rust-lang#58577. The pos_vs_neg cases seems (are were meant to be) the same as the neg_vs_pos case (same thing, reverse order) but reality shows a surprsing 25% difference.
Update miri links Miri has been moved to `rust-lang` a couple of days ago.
Make std feature list sorted This helps to avoid merge conflicts when concurrent PRs append features to the end of the list.
Rollup of 17 pull requests Successful merges: - rust-lang#57656 (Deprecate the unstable Vec::resize_default) - rust-lang#58059 (deprecate before_exec in favor of unsafe pre_exec) - rust-lang#58064 (override `VecDeque::try_rfold`, also update iterator) - rust-lang#58198 (Suggest removing parentheses surrounding lifetimes) - rust-lang#58431 (fix overlapping references in BTree) - rust-lang#58555 (Add a note about 2018e if someone uses `try {` in 2015e) - rust-lang#58588 (remove a bit of dead code) - rust-lang#58589 (cleanup macro after 2018 transition) - rust-lang#58591 (Dedup a rustdoc diagnostic construction) - rust-lang#58600 (fix small documentation typo) - rust-lang#58601 (Search for target_triple.json only if builtin target not found) - rust-lang#58606 (Docs: put Future trait into spotlight) - rust-lang#58607 (Fixes rust-lang#58586: Make E0505 erronous example fail for the 2018 edition) - rust-lang#58615 (miri: explain why we use static alignment in ref-to-place conversion) - rust-lang#58620 (introduce benchmarks of BTreeSet.intersection) - rust-lang#58621 (Update miri links) - rust-lang#58632 (Make std feature list sorted) Failed merges: r? @ghost
…meout, r=alexcrichton Added a connection timeout and speed threshold when downloading the Docker cache This is an attempt to fix one possible cause of rust-lang#56112. Similar to rust-lang#52846, this changed the download docker-cache command to fail if it cannot connect or falls below 10 bytes/s after 30 seconds, so it could be retried sooner.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.