-
Notifications
You must be signed in to change notification settings - Fork 1
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 from origin 2020-07-02 #9
Commits on May 25, 2020
-
Remove legacy InnoSetup GUI installer
On Windows the InnoSetup installer was superseded by the MSI installer. It's no longer needed.
Configuration menu - View commit details
-
Copy full SHA for 912963b - Browse repository at this point
Copy the full SHA 912963bView commit details
Commits on Jun 5, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8bc6b5b - Browse repository at this point
Copy the full SHA 8bc6b5bView commit details
Commits on Jun 13, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 144206e - Browse repository at this point
Copy the full SHA 144206eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c98b4c8 - Browse repository at this point
Copy the full SHA c98b4c8View commit details
Commits on Jun 14, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 46bfc48 - Browse repository at this point
Copy the full SHA 46bfc48View commit details
Commits on Jun 18, 2020
-
This allows us to write fn char_to_string() -> String { 'a'.into() } which was not possible before.
Configuration menu - View commit details
-
Copy full SHA for 1d0378c - Browse repository at this point
Copy the full SHA 1d0378cView commit details -
bootstrap: Configurable musl libdir
Make it possible to customize the location of musl libdir using musl-libdir in config.toml, e.g., to use lib64 instead of lib.
Configuration menu - View commit details
-
Copy full SHA for 5c20ef4 - Browse repository at this point
Copy the full SHA 5c20ef4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2cde493 - Browse repository at this point
Copy the full SHA 2cde493View commit details
Commits on Jun 23, 2020
-
Fixed grammar and sentence structure on appropriate instances.
Configuration menu - View commit details
-
Copy full SHA for 886f81e - Browse repository at this point
Copy the full SHA 886f81eView commit details -
[AVR] Update the rust-lang/llvm-project submodule to include AVR fixe…
…s recently merged This commit updates rustc's LLVM submodule to include new AVR-specific fixes recently merged on the Rust LLVM 'rustc/10.0-2020-05-05' branch. All of these cherry-picked commits exist in upstream LLVM and were cherry-picked into Rust's LLVM fork in commit 6c040dd86ed. |- 6c040dd86ed Merge pull request #66 from dylanmckay/avr-pick-upstream-llvm-fixes |- 12dfdd3aed7 [AVR] Rewrite the function calling convention. |- 118ac53f12b [AVR] Don't adjust for instruction size |- bc27c282e13 [AVR] Fix miscompilation of zext + add |- cfbe205a7e8 [AVR] Remove faulty stack pushing behavior |- 143e1469e96 [AVR] Fix stack size in functions with a frame pointer |- 6b2445d841e [LLVM][AVR] Support for R_AVR_6 fixup |- 93ee4da19cf [AVR] Fix I/O instructions on XMEGA |- 962c2415ffb [AVR] Do not place functions in .progmem.data |- 65b8b170aef [AVR] Do not use divmod calls for bigger integers |- 93a3b595d1c [AVR] Generalize the previous interrupt bugfix to signal |- handlers too |- cc4286349b4 [AVR] Respect the 'interrupt' function attribute |- 954d0a92205 [AVR] Fix reads of uninitialized variables from constructor of AVRSubtarget |- 1c0ddae73c9 [AVR] Fix read of uninitialized variable AVRSubtarget:::ELFArch |- 0ed0823fe60 [AVR] Fix incorrect register state for LDRdPtr |- 96075fc433d [AVR] Don't adjust addresses by 2 for absolute values |- 6dfc55ba53b [AVR] Use correct register class for mul instructions These changes include both correctness fixes and LLVM assertion error fixes. Once all of these commits have been cherry-picked, all of the LLVM plumbing for rust-lang/master to compile the AVR blink program will be in place. Once this commit is merged, only PR #73270 will be blocking successful compilation and emission of the AVR LED blink program.
Configuration menu - View commit details
-
Copy full SHA for 50f20ec - Browse repository at this point
Copy the full SHA 50f20ecView commit details
Commits on Jun 24, 2020
-
Update Box::from_raw example to generalize better
I know very little about rust, so I saw this example and tried to generalize it by writing, ``` let layout = Layout::new::<T>(); let new_obj = unsafe { let ptr = alloc(layout) as *mut T; *ptr = obj; Box::from_raw(ptr) }; ``` for some more complicated `T`, which ended up crashing with SIGSEGV, because it tried to `drop_in_place` the previous object in `ptr` which is of course garbage. I also added a comment that explains why `.write` is used, but I think adding that comment is optional and may be too verbose here. I do however think that changing this example is a good idea to suggest the correct generalization. `.write` is also used in most of the rest of the documentation here, even if the example is `i32`, so it would additionally be more consistent.
Configuration menu - View commit details
-
Copy full SHA for 0c88dd6 - Browse repository at this point
Copy the full SHA 0c88dd6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b5d7f8 - Browse repository at this point
Copy the full SHA 3b5d7f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for d6cf8fc - Browse repository at this point
Copy the full SHA d6cf8fcView commit details
Commits on Jun 25, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 2bbc2b3 - Browse repository at this point
Copy the full SHA 2bbc2b3View commit details -
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
Configuration menu - View commit details
-
Copy full SHA for 22fc18f - Browse repository at this point
Copy the full SHA 22fc18fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8edcc6d - Browse repository at this point
Copy the full SHA 8edcc6dView commit details -
Linked the logo/svg to https://www.rust-lang.org/ (change if required)
Configuration menu - View commit details
-
Copy full SHA for 3a1ac28 - Browse repository at this point
Copy the full SHA 3a1ac28View commit details -
Added responsiveness to image logo based on device width (set at 90% of device width, which can be changed as per requirement)
Configuration menu - View commit details
-
Copy full SHA for 4c33b7c - Browse repository at this point
Copy the full SHA 4c33b7cView commit details
Commits on Jun 26, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 00ef461 - Browse repository at this point
Copy the full SHA 00ef461View commit details -
Configuration menu - View commit details
-
Copy full SHA for b71a3e1 - Browse repository at this point
Copy the full SHA b71a3e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 31c6d5f - Browse repository at this point
Copy the full SHA 31c6d5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 15e81be - Browse repository at this point
Copy the full SHA 15e81beView commit details -
Configuration menu - View commit details
-
Copy full SHA for cf398a3 - Browse repository at this point
Copy the full SHA cf398a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 224bc05 - Browse repository at this point
Copy the full SHA 224bc05View commit details -
Make
likely
andunlikely
constThey are gated by internal feature gate const_likely
Configuration menu - View commit details
-
Copy full SHA for fc239e8 - Browse repository at this point
Copy the full SHA fc239e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 779b05d - Browse repository at this point
Copy the full SHA 779b05dView commit details
Commits on Jun 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 79a42e3 - Browse repository at this point
Copy the full SHA 79a42e3View commit details -
Recover extra trailing angle brackets in struct definition
This commit applies the existing 'extra angle bracket recovery' logic when parsing fields in struct definitions. This allows us to continue parsing the struct's fields, avoiding spurious 'missing field' errors in code that tries to use the struct.
Configuration menu - View commit details
-
Copy full SHA for 765bd47 - Browse repository at this point
Copy the full SHA 765bd47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fc5593 - Browse repository at this point
Copy the full SHA 3fc5593View commit details -
Update src/librustc_mir/interpret/intrinsics.rs
Co-authored-by: Oliver Scherer <github35764891676564198441@oli-obk.de>
Configuration menu - View commit details
-
Copy full SHA for 8b43012 - Browse repository at this point
Copy the full SHA 8b43012View commit details -
Use an 'approximate' universal upper bound when reporting region errors
Fixes #67765 When reporting errors during MIR region inference, we sometimes use `universal_upper_bound` to obtain a named universal region that we can display to the user. However, this is not always possible - in a case like `fn foo<'a, 'b>() { .. }`, the only upper bound for a region containing `'a` and `'b` is `'static`. When displaying diagnostics, it's usually better to display *some* named region (even if there are multiple involved) rather than fall back to a generic error involving `'static`. This commit adds a new `approx_universal_upper_bound` method, which uses the lowest-numbered universal region if the only alternative is to return `'static`.
Configuration menu - View commit details
-
Copy full SHA for 517d361 - Browse repository at this point
Copy the full SHA 517d361View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e899b1 - Browse repository at this point
Copy the full SHA 8e899b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7055c23 - Browse repository at this point
Copy the full SHA 7055c23View commit details
Commits on Jun 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 14d0370 - Browse repository at this point
Copy the full SHA 14d0370View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7231e57 - Browse repository at this point
Copy the full SHA 7231e57View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4595fa8 - Browse repository at this point
Copy the full SHA 4595fa8View commit details -
Configuration menu - View commit details
-
Copy full SHA for e611a3f - Browse repository at this point
Copy the full SHA e611a3fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e8f5785 - Browse repository at this point
Copy the full SHA e8f5785View commit details -
Configuration menu - View commit details
-
Copy full SHA for dfd454b - Browse repository at this point
Copy the full SHA dfd454bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4224313 - Browse repository at this point
Copy the full SHA 4224313View commit details -
Fix markdown rendering in librustc_lexer docs
Use back-ticks instead of quotation marks in docs for the block comment variant of TokenKind.
Configuration menu - View commit details
-
Copy full SHA for 49c1018 - Browse repository at this point
Copy the full SHA 49c1018View commit details -
Configuration menu - View commit details
-
Copy full SHA for 40c74a7 - Browse repository at this point
Copy the full SHA 40c74a7View commit details -
Add newline to rustc MultiSpan docs
Also adds back-ticks when referring to the contents of this collection.
Configuration menu - View commit details
-
Copy full SHA for 4966272 - Browse repository at this point
Copy the full SHA 4966272View commit details
Commits on Jun 29, 2020
-
Auto merge of #73032 - yoshuawuyts:stabilize-leading_trailing_ones, r…
…=Amanieu stabilize leading_trailing_ones This PR stabilizes the `leading_trailing_ones` feature. It's been available on nightly since the start of the year, and hasn't had any issues since. It seems unlikely we'll want to change this, so following up on @djc's suggestion in #57969 (comment) I'd like to put forward this PR to stabilize the feature and make it part of `1.46.0`. Thanks! cc/ @djc @rust-lang/libs
Configuration menu - View commit details
-
Copy full SHA for c86039b - Browse repository at this point
Copy the full SHA c86039bView commit details -
Auto merge of #73391 - pickfire:liballoc-panic-doc, r=Mark-Simulacrum
Add liballoc doc panic detail according to RawVec
Configuration menu - View commit details
-
Copy full SHA for 0ca7f74 - Browse repository at this point
Copy the full SHA 0ca7f74View commit details -
rustbuild: Move compiler-builtins build logic to manifest
This commit moves the compiler-builtins-specific build logic from `src/bootstrap/bin/rustc.rs` into the workspace `Cargo.toml`'s `[profile]` configuration. Now that rust-lang/cargo#7253 is fixed we can ensure that Cargo knows about debug assertions settings, and it can also be configured to specifically disable debug assertions unconditionally for compiler-builtins. This should improve rebuild logic when debug-assertions settings change and also improve build-std integration where Cargo externally now has an avenue to learn how to build compiler-builtins as well.
Configuration menu - View commit details
-
Copy full SHA for 3dfbf0b - Browse repository at this point
Copy the full SHA 3dfbf0bView commit details -
Revert "ci: allow gating gha on everything but macOS"
This reverts commit 8bc3122.
Configuration menu - View commit details
-
Copy full SHA for c8f2dd0 - Browse repository at this point
Copy the full SHA c8f2dd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd34698 - Browse repository at this point
Copy the full SHA dd34698View commit details -
add spans to injected coverage counters
added regions with counter expressions and counters. Added codegen_llvm/coverageinfo mod for upcoming coverage map Move coverage region collection to CodegenCx finalization Moved from `query coverageinfo` (renamed from `query coverage_data`), as discussed in the PR at: #73684 (comment) Address merge conflict in MIR instrument_coverage test The MIR test output format changed for int types. moved debug messages out of block.rs This makes the block.rs calls to add coverage mapping data to the CodegenCx much more concise and readable. move coverage intrinsic handling into llvm impl I realized that having half of the coverage intrinsic handling in `rustc_codegen_ssa` and half in `rustc_codegen_llvm` meant that any non-llvm backend would be bound to the same decisions about how the coverage-related MIR terminators should be handled. To fix this, I moved the non-codegen portion of coverage intrinsic handling into its own trait, and implemented it in `rustc_codegen_llvm` alongside `codegen_intrinsic_call`. I also added the (required?) stubs for the new intrinsics to `IntrepretCx::emulate_intrinsic()`, to ensure calls to this function do not fail if called with these new but known intrinsics. address PR Feedback on 28 June 2020 2:48pm PDT
Configuration menu - View commit details
-
Copy full SHA for 5239a68 - Browse repository at this point
Copy the full SHA 5239a68View commit details -
Auto merge of #73374 - alexcrichton:compiler-bulitins-debug-assertion…
…s, r=Mark-Simulacrum rustbuild: Move compiler-builtins build logic to manifest This commit moves the compiler-builtins-specific build logic from `src/bootstrap/bin/rustc.rs` into the workspace `Cargo.toml`'s `[profile]` configuration. Now that rust-lang/cargo#7253 is fixed we can ensure that Cargo knows about debug assertions settings, and it can also be configured to specifically disable debug assertions unconditionally for compiler-builtins. This should improve rebuild logic when debug-assertions settings change and also improve build-std integration where Cargo externally now has an avenue to learn how to build compiler-builtins as well.
Configuration menu - View commit details
-
Copy full SHA for a1528c4 - Browse repository at this point
Copy the full SHA a1528c4View commit details
Commits on Jun 30, 2020
-
Serialize all foreign
SourceFile
s into proc-macro crate metadataNormally, we encode a `Span` that references a foreign `SourceFile` by encoding information about the foreign crate. When we decode this `Span`, we lookup the foreign crate in order to decode the `SourceFile`. However, this approach does not work for proc-macro crates. When we load a proc-macro crate, we do not deserialzie any of its dependencies (since a proc-macro crate can only export proc-macros). This means that we cannot serialize a reference to an upstream crate, since the associated metadata will not be available when we try to deserialize it. This commit modifies foreign span handling so that we treat all foreign `SourceFile`s as local `SourceFile`s when serializing a proc-macro. All `SourceFile`s will be stored into the metadata of a proc-macro crate, allowing us to cotinue to deserialize a proc-macro crate without needing to load any of its dependencies. Since the number of foreign `SourceFile`s that we load during a compilation session may be very large, we only serialize a `SourceFile` if we have also serialized a `Span` which requires it.
Configuration menu - View commit details
-
Copy full SHA for 3343733 - Browse repository at this point
Copy the full SHA 3343733View commit details -
Normalize symbol ids to 0 in test stdout
The number of symbols we allocate (even early on) seems to be platform dependent. We only care about hygiene for the purposes of this test, so just set all of the symbol ids to zero
Configuration menu - View commit details
-
Copy full SHA for a7c408d - Browse repository at this point
Copy the full SHA a7c408dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9154863 - Browse repository at this point
Copy the full SHA 9154863View commit details -
Auto merge of #73658 - dylanmckay:avr-update-llvm-submodule-with-pick…
…s, r=cuviper [AVR] Update the rust-lang/llvm-project submodule to include AVR fixes recently merged This PR updates rustc's LLVM submodule to include new AVR-specific fixes recently merged on the Rust LLVM 'rustc/10.0-2020-05-05' branch. All of these cherry-picked commits exist in upstream LLVM and were cherry-picked into Rust's LLVM fork in commit 6c040dd86ed. Relates to rust-lang/llvm-project#66 ``` |- 6c040dd86ed Merge pull request #66 from dylanmckay/avr-pick-upstream-llvm-fixes |- 12dfdd3aed7 [AVR] Rewrite the function calling convention. |- 118ac53f12b [AVR] Don't adjust for instruction size |- bc27c282e13 [AVR] Fix miscompilation of zext + add |- cfbe205a7e8 [AVR] Remove faulty stack pushing behavior |- 143e1469e96 [AVR] Fix stack size in functions with a frame pointer |- 6b2445d841e [LLVM][AVR] Support for R_AVR_6 fixup |- 93ee4da19cf [AVR] Fix I/O instructions on XMEGA |- 962c2415ffb [AVR] Do not place functions in .progmem.data |- 65b8b170aef [AVR] Do not use divmod calls for bigger integers |- 93a3b595d1c [AVR] Generalize the previous interrupt bugfix to signal |- handlers too |- cc4286349b4 [AVR] Respect the 'interrupt' function attribute |- 954d0a92205 [AVR] Fix reads of uninitialized variables from constructor of AVRSubtarget |- 1c0ddae73c9 [AVR] Fix read of uninitialized variable AVRSubtarget:::ELFArch |- 0ed0823fe60 [AVR] Fix incorrect register state for LDRdPtr |- 96075fc433d [AVR] Don't adjust addresses by 2 for absolute values |- 6dfc55ba53b [AVR] Use correct register class for mul instructions ``` These changes include both correctness fixes and LLVM assertion error fixes. Once all of these commits have been cherry-picked, all of the LLVM plumbing for rust-lang/master to compile the AVR blink program will be in place. Once this commit is merged, only PR #73270 will be blocking successful compilation and emission of the AVR LED blink program.
Configuration menu - View commit details
-
Copy full SHA for 665190b - Browse repository at this point
Copy the full SHA 665190bView commit details -
ci: fix wasm32 broken due to a NodeJS version bump
Emscripten's SDK recently bumped the version of NodeJS they shipped, but our Dockerfile for the wasm32 builder hardcoded the version number. This will cause consistent CI failures once the currently cached image is rebuilt (either due to a change or due to the cache expiring). This commit fixes the problem by finding the latest version of NodeJS in the Emscripten SDK and symlinking it to a "latest" directory, which is then added to the PATH.
Configuration menu - View commit details
-
Copy full SHA for 844dc31 - Browse repository at this point
Copy the full SHA 844dc31View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d7ba5f - Browse repository at this point
Copy the full SHA 1d7ba5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 71b45b9 - Browse repository at this point
Copy the full SHA 71b45b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for f632bd1 - Browse repository at this point
Copy the full SHA f632bd1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 69e4990 - Browse repository at this point
Copy the full SHA 69e4990View commit details -
Configuration menu - View commit details
-
Copy full SHA for f3645ca - Browse repository at this point
Copy the full SHA f3645caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d9ed15 - Browse repository at this point
Copy the full SHA 2d9ed15View commit details -
Auto merge of #73888 - RalfJung:miri, r=RalfJung
update Miri Fixes #73773 Cc @rust-lang/miri r? @ghost
Configuration menu - View commit details
-
Copy full SHA for e070765 - Browse repository at this point
Copy the full SHA e070765View commit details -
Configuration menu - View commit details
-
Copy full SHA for f74a7d3 - Browse repository at this point
Copy the full SHA f74a7d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8ee1dec - Browse repository at this point
Copy the full SHA 8ee1decView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a515e9 - Browse repository at this point
Copy the full SHA 8a515e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac7539c - Browse repository at this point
Copy the full SHA ac7539cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c68f478 - Browse repository at this point
Copy the full SHA c68f478View commit details -
Configuration menu - View commit details
-
Copy full SHA for c225e5c - Browse repository at this point
Copy the full SHA c225e5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b365233 - Browse repository at this point
Copy the full SHA b365233View commit details -
Auto merge of #73456 - tmiasko:musl-libdir, r=Mark-Simulacrum
bootstrap: Configurable musl libdir Make it possible to customize the location of musl libdir using musl-libdir in config.toml, e.g., to use lib64 instead of lib.
Configuration menu - View commit details
-
Copy full SHA for 16957bd - Browse repository at this point
Copy the full SHA 16957bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b3ef66 - Browse repository at this point
Copy the full SHA 1b3ef66View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1623ff - Browse repository at this point
Copy the full SHA a1623ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0889d79 - Browse repository at this point
Copy the full SHA 0889d79View commit details -
Bring net/parser.rs up to modern up to date with modern rust patterns
Made the following changes throughout the IP address parser: - Replaced all uses of `is_some()` / `is_none()` with `?`. - "Upgraded" loops wherever possible; ie, replace `while` with `for`, etc. - Removed all cases of manual index tracking / incrementing. - Renamed several single-character variables with more expressive names. - Replaced several manual control flow segments with equivalent adapters (such as `Option::filter`). - Removed `read_seq_3`; replaced with simple sequences of `?`. - Parser now reslices its state when consuming, rather than carrying a separate state and index variable. - `read_digit` now uses `char::to_digit`. - Removed unnecessary casts back and forth between u8 and u32 - Added comments throughout, especially in the complex IPv6 parsing logic. - Added comprehensive local unit tests for the parser to validate these changes.
Configuration menu - View commit details
-
Copy full SHA for 3ab7ae3 - Browse repository at this point
Copy the full SHA 3ab7ae3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a7a652 - Browse repository at this point
Copy the full SHA 6a7a652View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37a48fa - Browse repository at this point
Copy the full SHA 37a48faView commit details -
Changes required for rustc/cargo to build for iOS targets
aspen committedJun 30, 2020 Configuration menu - View commit details
-
Copy full SHA for e191358 - Browse repository at this point
Copy the full SHA e191358View commit details -
Only set the flag in LLVM builds.
aspen committedJun 30, 2020 Configuration menu - View commit details
-
Copy full SHA for c22bcb0 - Browse repository at this point
Copy the full SHA c22bcb0View commit details -
Don't break on iOS Simulator builds.
aspen committedJun 30, 2020 Configuration menu - View commit details
-
Copy full SHA for 5f3dbd8 - Browse repository at this point
Copy the full SHA 5f3dbd8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 51858da - Browse repository at this point
Copy the full SHA 51858daView commit details
Commits on Jul 1, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 0d26512 - Browse repository at this point
Copy the full SHA 0d26512View commit details -
Rewrite a few manual index loops with while-let
There were a few instances of this pattern: ```rust while index < vec.len() { let item = &vec[index]; // ... } ``` These can be indexed at once: ```rust while let Some(item) = vec.get(index) { // ... } ``` Particularly in `ObligationForest::process_obligations`, this mitigates a codegen regression found with LLVM 11 (#73526).
Configuration menu - View commit details
-
Copy full SHA for 47425e4 - Browse repository at this point
Copy the full SHA 47425e4View commit details -
Auto merge of #73706 - Aaron1011:fix/proc-macro-foreign-span, r=petro…
…chenkov Serialize all foreign `SourceFile`s into proc-macro crate metadata Normally, we encode a `Span` that references a foreign `SourceFile` by encoding information about the foreign crate. When we decode this `Span`, we lookup the foreign crate in order to decode the `SourceFile`. However, this approach does not work for proc-macro crates. When we load a proc-macro crate, we do not deserialzie any of its dependencies (since a proc-macro crate can only export proc-macros). This means that we cannot serialize a reference to an upstream crate, since the associated metadata will not be available when we try to deserialize it. This commit modifies foreign span handling so that we treat all foreign `SourceFile`s as local `SourceFile`s when serializing a proc-macro. All `SourceFile`s will be stored into the metadata of a proc-macro crate, allowing us to cotinue to deserialize a proc-macro crate without needing to load any of its dependencies. Since the number of foreign `SourceFile`s that we load during a compilation session may be very large, we only serialize a `SourceFile` if we have also serialized a `Span` which requires it.
Configuration menu - View commit details
-
Copy full SHA for d462551 - Browse repository at this point
Copy the full SHA d462551View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7616cd9 - Browse repository at this point
Copy the full SHA 7616cd9View commit details -
Configuration menu - View commit details
-
Copy full SHA for b438811 - Browse repository at this point
Copy the full SHA b438811View commit details -
Does not yet make its constness stable, though. Use of `Location::caller` in const contexts is still gated by `#![feature(const_caller_location)]`.
Configuration menu - View commit details
-
Copy full SHA for f07d10d - Browse repository at this point
Copy the full SHA f07d10dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a5764de - Browse repository at this point
Copy the full SHA a5764deView commit details -
Auto merge of #73863 - pietroalbini:revert-8bc3122311d, r=Mark-Simula…
…crum Revert "ci: allow gating gha on everything but macOS" The macOS issue on GHA's side seems to be fixed, so this is not needed anymore. r? @Mark-Simulacrum
Configuration menu - View commit details
-
Copy full SHA for 1505c12 - Browse repository at this point
Copy the full SHA 1505c12View commit details -
Configuration menu - View commit details
-
Copy full SHA for b37434e - Browse repository at this point
Copy the full SHA b37434eView commit details -
Configuration menu - View commit details
-
Copy full SHA for cd9d833 - Browse repository at this point
Copy the full SHA cd9d833View commit details -
Verify UI tests work in pass=check mode
We do not test cross-compilation here as the PR builder lacks a sufficiently recent LLVM to cross-compile to 32-bit linux. Once we bump the minimum LLVM version to LLVM 9, this can use normal 32-bit linux.
Configuration menu - View commit details
-
Copy full SHA for 562e015 - Browse repository at this point
Copy the full SHA 562e015View commit details -
Rollup merge of #72071 - PankajChaudhary5:ErrorCode-E0687, r=davidtwco
Added detailed error code explanation for issue E0687 in Rust compiler. Added proper error explanation for issue E0687 in the Rust compiler. Error Code E0687 Sub Part of Issue #61137 r? @GuillaumeGomez
Configuration menu - View commit details
-
Copy full SHA for 128fa2b - Browse repository at this point
Copy the full SHA 128fa2bView commit details -
Rollup merge of #72369 - Lucretiel:socketaddr-parse, r=dtolnay
Bring net/parser.rs up to modern up to date with modern rust patterns The current implementation of IP address parsing is very unidiomatic; it's full of `if` / `return` / `is_some` / `is_none` instead of `?`, `loop` with manual index tracking; etc. Went through and did and cleanup to try to bring it in line with modern sensibilities. The obvious concern with making changes like this is "make sure you understand why it's written that way before changing it". Looking through the commit history for this file, there are several much smaller commits that make similar changes (For instance, 3024c14, 4f3ab49, 79f8764), and there don't seem to be any commits in the history that indicate that this lack of idiomaticity is related to specific performance needs (ie, there aren't any commits that replace a `for` loop with a `loop` and a manual index count). In fact, the basic shape of the file is essentially unchanged from its initial commit back in 2015. Made the following changes throughout the IP address parser: - Replaced all uses of `is_some()` / `is_none()` with `?`. - "Upgraded" loops wherever possible; ie, replace `while` with `for`, etc. - Removed all cases of manual index tracking / incrementing. - Renamed several single-character variables with more expressive names. - Replaced several manual control flow segments with equivalent adapters (such as `Option::filter`). - Removed `read_seq_3`; replaced with simple sequences of `?`. - Parser now reslices its state when consuming, rather than carrying a separate state and index variable. - `read_digit` now uses `char::to_digit`. - Added comments throughout, especially in the complex IPv6 parsing logic. - Added comprehensive local unit tests for the parser to validate these changes.
Configuration menu - View commit details
-
Copy full SHA for 33f8ce2 - Browse repository at this point
Copy the full SHA 33f8ce2View commit details -
Rollup merge of #72445 - anp:stabilize-track-caller, r=oli-obk
Stabilize `#[track_caller]`. # Stabilization Report RFC: [2091] Tracking issue: #47809 ## Summary From the [rustc-dev-guide chapter][dev-guide]: > Take this example program: ```rust fn main() { let foo: Option<()> = None; foo.unwrap(); // this should produce a useful panic message! } ``` > Prior to Rust 1.42, panics like this `unwrap()` printed a location in libcore: ``` $ rustc +1.41.0 example.rs; example.exe thread 'main' panicked at 'called `Option::unwrap()` on a `None` value',...core\macros\mod.rs:15:40 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace. ``` > As of 1.42, we get a much more helpful message: ``` $ rustc +1.42.0 example.rs; example.exe thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', example.rs:3:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` > These error messages are achieved through a combination of changes to `panic!` internals to make use of `core::panic::Location::caller` and a number of `#[track_caller]` annotations in the standard library which propagate caller information. The attribute adds an implicit caller location argument to the ABI of annotated functions, but does not affect the type or MIR of the function. We implement the feature entirely in codegen and in the const evaluator. ## Bottom Line This PR stabilizes the use of `#[track_caller]` everywhere, including traits and extern blocks. It also stabilizes `core::panic::Location::caller`, although the use of that function in a const context remains gated by `#![feature(const_caller_location)]`. The implementation for the feature already changed the output of panic messages for a number of std functions, as described in the [1.42 release announcement]. The attribute's use in `Index` and `IndexMut` traits is visible to users since 1.44. ## Tests All of the tests for this feature live under [src/test/ui/rfc-2091-track-caller][tests] in the repo. Noteworthy cases: * [use of attr in std] * validates user-facing benefit of the feature * [trait attribute inheritance] * covers subtle behavior designed during implementation and not RFC'd * [const/codegen equivalence] * this was the result of a suspected edge case and investigation * [diverging function support] * covers an unresolved question from the RFC * [fn pointers and shims] * covers important potential sources of unsoundness ## Documentation The rustc-dev-guide now has a chapter on [Implicit Caller Location][dev-guide]. I have an [open PR to the reference][attr-reference-pr] documenting the attribute. The intrinsic's [wrapper] includes some examples as well. ## Implementation History * 2019-10-02: [`#[track_caller]` feature gate (RFC 2091 1/N) #65037](#65037) * Picked up the patch that @ayosec had started on the feature gate. * 2019-10-13: [Add `Instance::resolve_for_fn_ptr` (RFC 2091 #2/N) #65182](#65182) * 2019-10-20: ~~[WIP Add MIR argument for #[track_caller] (RFC 2091 3/N) #65258](#65258 * Abandoned approach to send location as a MIR argument. * 2019-10-28: [`std::panic::Location` is a lang_item, add `core::intrinsics::caller_location` (RFC 2091 3/N) #65664](#65664) * 2019-12-07: [Implement #[track_caller] attribute. (RFC 2091 4/N) #65881](#65881) * 2020-01-04: [libstd uses `core::panic::Location` where possible. #67137](#67137) * 2020-01-08: [`Option::{expect,unwrap}` and `Result::{expect, expect_err, unwrap, unwrap_err}` have `#[track_caller]` #67887](#67887) * 2020-01-20: [Fix #[track_caller] and function pointers #68302](#68302) (fixed #68178) * 2020-03-23: [#[track_caller] in traits #69251](#69251) * 2020-03-24: [#[track_caller] on core::ops::{Index, IndexMut}. #70234](#70234) * 2020-04-08 [Support `#[track_caller]` on functions in `extern "Rust" { ... }` #70916](#70916) ## Unresolveds ### From the RFC > Currently the RFC simply prohibit applying #[track_caller] to trait methods as a future-proofing > measure. **Resolved.** See the dev-guide documentation and the tests section above. > Diverging functions should be supported. **Resolved.** See the tests section above. > The closure foo::{{closure}} should inherit most attributes applied to the function foo, ... **Resolved.** This unknown was related to specifics of the implementation which were made irrelevant by the final implementation. ### Binary Size I [instrumented track_caller to use custom sections][measure-size] in a local build and discovered relatively minor binary size usage for the feature overall. I'm leaving the issue open to discuss whether we want to upstream custom section support. There's an [open issue to discuss mitigation strategies][mitigate-size]. Some decisions remain about the "right" strategies to reduce size without overly constraining the compiler implementation. I'd be excited to see someone carry that work forward but my opinion is that we shouldn't block stabilization on implementing compiler flags for redaction. ### Specialization There's an [open issue][specialization] on the semantics of the attribute in specialization chains. I'm inclined to move forward with stabilization without an exact resolution here given that specialization is itself unstable, but I also think it should be an easy question to resolve. ### Location only points to the start of a call span #69977 was resolved by #73182, and the next step should probably be to [extend `Location` with a notion of the end of a call](#73554). ### Regression of std's panic messages #70963 should be resolved by serializing span hygeine to crate metadata: #68686. [2091]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md [dev-guide]: https://rustc-dev-guide.rust-lang.org/codegen/implicit-caller-location.html [specialization]: #70293 [measure-size]: #70579 [mitigate-size]: #70580 [attr-reference-pr]: rust-lang/reference#742 [wrapper]: https://doc.rust-lang.org/nightly/core/panic/struct.Location.html#method.caller [tests]: https://github.com/rust-lang/rust/tree/master/src/test/ui/rfc-2091-track-caller [const/codegen equivalence]: https://github.com/rust-lang/rust/blob/master/src/test/ui/rfc-2091-track-caller/caller-location-fnptr-rt-ctfe-equiv.rs [diverging function support]: https://github.com/rust-lang/rust/blob/master/src/test/ui/rfc-2091-track-caller/diverging-caller-location.rs [use of attr in std]: https://github.com/rust-lang/rust/blob/master/src/test/ui/rfc-2091-track-caller/std-panic-locations.rs [fn pointers and shims]: https://github.com/rust-lang/rust/blob/master/src/test/ui/rfc-2091-track-caller/tracked-fn-ptr-with-arg.rs [trait attribute inheritance]: https://github.com/rust-lang/rust/blob/master/src/test/ui/rfc-2091-track-caller/tracked-trait-impls.rs [1.42 release announcement]: https://blog.rust-lang.org/2020/03/12/Rust-1.42.html#useful-line-numbers-in-option-and-result-panic-messages
Configuration menu - View commit details
-
Copy full SHA for ae79c30 - Browse repository at this point
Copy the full SHA ae79c30View commit details -
Rollup merge of #73466 - matthiaskrgr:char_into_string, r=dtolnay
impl From<char> for String This allows us to write ````rust fn char_to_string() -> String { 'a'.into() } ```` which was not possible before.
Configuration menu - View commit details
-
Copy full SHA for b7d13c0 - Browse repository at this point
Copy the full SHA b7d13c0View commit details -
Rollup merge of #73548 - tshepang:fix-rustdoc-warnings, r=ecstatic-morse
remove rustdoc warnings
Configuration menu - View commit details
-
Copy full SHA for 39209ac - Browse repository at this point
Copy the full SHA 39209acView commit details -
Rollup merge of #73649 - Anirban166:patch-1, r=steveklabnik
Fix sentence structure Fixed grammar and sentence structure on appropriate instances.
Configuration menu - View commit details
-
Copy full SHA for 0eb9799 - Browse repository at this point
Copy the full SHA 0eb9799View commit details -
Rollup merge of #73678 - Keno:patch-1, r=LukasKalbertodt
Update Box::from_raw example to generalize better I know very little about rust, so I saw the example here ``` use std::alloc::{alloc, Layout}; unsafe { let ptr = alloc(Layout::new::<i32>()) as *mut i32; *ptr = 5; let x = Box::from_raw(ptr); } ``` and tried to generalize it by writing, ``` let layout = Layout::new::<T>(); let new_obj = unsafe { let ptr = alloc(layout) as *mut T; *ptr = obj; Box::from_raw(ptr) }; ``` for some more complicated `T`, which ended up crashing with SIGSEGV, because it tried to `drop_in_place` the previous object in `ptr` which is of course garbage. I think that changing this example to use `.write` instead would be a good idea to suggest the correct generalization. It is also more consistent with other documentation items in this file, which use `.write`. I also added a comment to explain it, but I'm not too attached to that, and can see it being too verbose in this place.
Configuration menu - View commit details
-
Copy full SHA for 6556f26 - Browse repository at this point
Copy the full SHA 6556f26View commit details -
Rollup merge of #73705 - lcnr:skip_binder, r=nikomatsakis
stop taking references in Relate Adds a `Copy` bound to `Relate` and changes the type signatures to `T` from `&T`. While the `Copy` bound is not strictly necessary (i.e. the `Clone` bound of `TypeRelation` would be good enough), we don't need non `Copy` types and it simplifies the implementation. Removes the afaict unused impls for `Vec<ty::PolyExistentialProjection<'tcx>>`, `Rc<T>` and `Box<T>`. If they end up being relevant again the bound of `Relate` can be reduced to `T: Clone`. This also changes signature of `Binder::skip_binder` to `fn skip_binder(self) -> T`. `TypeError::ProjectionBoundsLength` was never used and is also removed in this PR. r? @nikomatsakis maybe 🤔 feel free to reassign
Configuration menu - View commit details
-
Copy full SHA for 9c65486 - Browse repository at this point
Copy the full SHA 9c65486View commit details -
Rollup merge of #73716 - poliorcetics:static-keyword, r=LukasKalbertodt
Configuration menu - View commit details
-
Copy full SHA for 8ac17d1 - Browse repository at this point
Copy the full SHA 8ac17d1View commit details -
Rollup merge of #73752 - TyPR124:invalid-parameter-error, r=LukasKalb…
…ertodt Remap Windows ERROR_INVALID_PARAMETER to ErrorKind::InvalidInput from Other I don't know if this is acceptable or how likely it is to break existing code, but it seem to me ERROR_INVALID_PARAMETER "The parameter is incorrect" should map to ErrorKind::InvalidInput "A parameter was incorrect". Previously this value fell through to ErrorKind::Other. I can't speak for anyone but myself, but I instinctively thought it would be InvalidInput.
Configuration menu - View commit details
-
Copy full SHA for 3951a98 - Browse repository at this point
Copy the full SHA 3951a98View commit details -
Rollup merge of #73776 - aszenz:refactor_mir_module, r=wesleywiser
Move terminator to new module Moves terminator types from `librustc_middle/mir/mod.rs` into submodule Fixes #73723
Configuration menu - View commit details
-
Copy full SHA for d6bee55 - Browse repository at this point
Copy the full SHA d6bee55View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec41d01 - Browse repository at this point
Copy the full SHA ec41d01View commit details -
Rollup merge of #73805 - poliorcetics:type-keyword, r=kennytm
Configuration menu - View commit details
-
Copy full SHA for 178b0c2 - Browse repository at this point
Copy the full SHA 178b0c2View commit details -
Rollup merge of #73806 - Aaron1011:feature/approx-universal-upper, r=…
…estebank Use an 'approximate' universal upper bound when reporting region errors Fixes #67765 When reporting errors during MIR region inference, we sometimes use `universal_upper_bound` to obtain a named universal region that we can display to the user. However, this is not always possible - in a case like `fn foo<'a, 'b>() { .. }`, the only upper bound for a region containing `'a` and `'b` is `'static`. When displaying diagnostics, it's usually better to display *some* named region (even if there are multiple involved) rather than fall back to a generic error involving `'static`. This commit adds a new `approx_universal_upper_bound` method, which uses the lowest-numbered universal region if the only alternative is to return `'static`.
Configuration menu - View commit details
-
Copy full SHA for f213957 - Browse repository at this point
Copy the full SHA f213957View commit details -
Rollup merge of #73828 - nop:fix/parameter-name-help, r=estebank
Fix wording for anonymous parameter name help ``` --> exercises/functions/functions2.rs:8:15 | 8 | fn call_me(num) { | ^ expected one of `:`, `@`, or `|` | = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) help: if this is a `self` type, give it a parameter name | 8 | fn call_me(self: num) { | ^^^^^^^^^ help: if this was a parameter name, give it a type | 8 | fn call_me(num: TypeName) { | ^^^^^^^^^^^^^ help: if this is a type, explicitly ignore the parameter name | 8 | fn call_me(_: num) { | ``` This commit changes "if this was a parameter name" to "if this is a parameter name" to match the wording of similar errors.
Configuration menu - View commit details
-
Copy full SHA for db900d4 - Browse repository at this point
Copy the full SHA db900d4View commit details -
Rollup merge of #73846 - pierwill:pierwill-patch-2, r=joshtriplett
Fix comma in debug_assert! docs
Configuration menu - View commit details
-
Copy full SHA for affd950 - Browse repository at this point
Copy the full SHA affd950View commit details -
Rollup merge of #73847 - pierwill:pierwill-cursor-doc, r=matthewjasper
Edit cursor.prev() method docs in lexer Fix missing punctuation
Configuration menu - View commit details
-
Copy full SHA for c9b3e86 - Browse repository at this point
Copy the full SHA c9b3e86View commit details -
Auto merge of #73924 - Manishearth:rollup-8r51ld9, r=Manishearth
Rollup of 17 pull requests Successful merges: - #72071 (Added detailed error code explanation for issue E0687 in Rust compiler.) - #72369 (Bring net/parser.rs up to modern up to date with modern rust patterns) - #72445 (Stabilize `#[track_caller]`.) - #73466 (impl From<char> for String) - #73548 (remove rustdoc warnings) - #73649 (Fix sentence structure) - #73678 (Update Box::from_raw example to generalize better) - #73705 (stop taking references in Relate) - #73716 (Document the static keyword) - #73752 (Remap Windows ERROR_INVALID_PARAMETER to ErrorKind::InvalidInput from Other) - #73776 (Move terminator to new module) - #73778 (Make `likely` and `unlikely` const, gated by feature `const_unlikely`) - #73805 (Document the type keyword) - #73806 (Use an 'approximate' universal upper bound when reporting region errors) - #73828 (Fix wording for anonymous parameter name help) - #73846 (Fix comma in debug_assert! docs) - #73847 (Edit cursor.prev() method docs in lexer) Failed merges: r? @ghost
Configuration menu - View commit details
-
Copy full SHA for f781bab - Browse repository at this point
Copy the full SHA f781babView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ce1d19 - Browse repository at this point
Copy the full SHA 9ce1d19View commit details -
aspen committed
Jul 1, 2020 Configuration menu - View commit details
-
Copy full SHA for 4fd1c77 - Browse repository at this point
Copy the full SHA 4fd1c77View commit details -
Also document iphoneos-version-min.
aspen committedJul 1, 2020 Configuration menu - View commit details
-
Copy full SHA for 22e8ced - Browse repository at this point
Copy the full SHA 22e8cedView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5da0576 - Browse repository at this point
Copy the full SHA 5da0576View commit details -
Configuration menu - View commit details
-
Copy full SHA for c844028 - Browse repository at this point
Copy the full SHA c844028View commit details -
Handle
None
-delimited groups when parsingmacro_rules!
macroWhen a `macro_rules!` macro expands to another `macro_rules!` macro, we may see `None`-delimited groups in odd places when another crate deserializes the 'inner' macro. This commit 'unwraps' an outer `None`-delimited group to avoid breaking existing code. See #73569 (comment) for more details. The proper fix is to handle `None`-delimited groups systematically throughout the parser, but that will require significant work. In the meantime, this hack lets us fix important hygiene bugs in macros
Configuration menu - View commit details
-
Copy full SHA for 1ded7a5 - Browse repository at this point
Copy the full SHA 1ded7a5View commit details -
Explicitly check for iOS/tvOS.
aspen committedJul 1, 2020 Configuration menu - View commit details
-
Copy full SHA for 67b162f - Browse repository at this point
Copy the full SHA 67b162fView commit details -
Configuration menu - View commit details
-
Copy full SHA for eb4ba55 - Browse repository at this point
Copy the full SHA eb4ba55View commit details -
Configuration menu - View commit details
-
Copy full SHA for 86d8644 - Browse repository at this point
Copy the full SHA 86d8644View commit details -
Auto merge of #72053 - Mark-Simulacrum:32bitcheck, r=pietroalbini
Test UI tests for pass=check I'm going to just compare the builder times since I wasn't able to get this working nicely locally (hit some obscure linker error). Fixes part of #69823
Configuration menu - View commit details
-
Copy full SHA for 9491f18 - Browse repository at this point
Copy the full SHA 9491f18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b9bc79 - Browse repository at this point
Copy the full SHA 0b9bc79View commit details
Commits on Jul 2, 2020
-
Rollup merge of #72569 - ChrisDenton:remove-innosetup, r=nikomatsakis
Remove legacy InnoSetup GUI installer On Windows the InnoSetup `.exe` installer was superseded by the MSI installer long ago. It's no longer needed. The `.exe` installer hasn't been linked from the [other installation methods](https://forge.rust-lang.org/infra/other-installation-methods.html#standalone) page in many years. As far as I can tell the intent was always to remove this installer once the MSI proved itself. Though admittedly both installers feel very "legacy" at this point. Removing this would mean we only maintain one Windows GUI installer and would speed up the distribution phase. As a result of removing InnoSetup, this closes #24397
Configuration menu - View commit details
-
Copy full SHA for fb976e6 - Browse repository at this point
Copy the full SHA fb976e6View commit details -
Rollup merge of #73306 - calebzulawski:target-feature-11-fn-trait-sou…
…ndness, r=nikomatsakis Don't implement Fn* traits for #[target_feature] functions Closes #72012.
Configuration menu - View commit details
-
Copy full SHA for 3d391d2 - Browse repository at this point
Copy the full SHA 3d391d2View commit details -
Rollup merge of #73345 - petrochenkov:nointerp, r=Aaron1011
expand: Stop using nonterminals for passing tokens to attribute and derive macros Make one more step towards fully token-based expansion and fix issues described in #72545 (comment). Now `struct S;` is passed to `foo!(struct S;)` and `#[foo] struct S;` in the same way - as a token stream `struct S ;`, rather than a single non-terminal token `NtItem` which is then broken into parts later. The cost is making pretty-printing of token streams less pretty. Some of the pretty-printing regressions will be recovered by keeping jointness with each token, which we will need to do anyway. Unfortunately, this is not exactly the same thing as #73102. One more observable effect is how `$crate` is printed in the attribute input. Inside `NtItem` was printed as `crate` or `that_crate`, now as a part of a token stream it's printed as `$crate` (there are good reasons for these differences, see #62393 and related PRs). This may break old proc macros (custom derives) written before the main portion of the proc macro API (macros 1.2) was stabilized, those macros did `input.to_string()` and reparsed the result, now that result can contain `$crate` which cannot be reparsed. So, I think we should do this regardless, but we need to run crater first. r? @Aaron1011
Configuration menu - View commit details
-
Copy full SHA for 8ed5c0d - Browse repository at this point
Copy the full SHA 8ed5c0dView commit details -
Rollup merge of #73449 - ehuss:duplicate-lang-item, r=matthewjasper
Provide more information on duplicate lang item error. This gives some notes on the location of the files where the lang items were loaded from. Some duplicate lang item errors can be a little confusing, and this might help in diagnosing what has happened. Here's an example when hitting a bug with Cargo's build-std: ``` error: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `try`. | = note: the lang item is first defined in crate `core` (which `z10` depends on) = note: first definition in `core` loaded from /Users/eric/Proj/rust/cargo/scratch/z10/target/target/debug/deps/libcore-a764da499c7385f4.rmeta = note: second definition in `core` loaded from /Users/eric/Proj/rust/cargo/scratch/z10/target/target/debug/deps/libcore-5b082675aea34986.rmeta ```
Configuration menu - View commit details
-
Copy full SHA for 6b57050 - Browse repository at this point
Copy the full SHA 6b57050View commit details -
Rollup merge of #73569 - Aaron1011:fix/macro-rules-group, r=petrochenkov
Handle `macro_rules!` tokens consistently across crates When we serialize a `macro_rules!` macro, we used a 'lowered' `TokenStream` for its body, which has all `Nonterminal`s expanded in-place via `nt_to_tokenstream`. This matters when an 'outer' `macro_rules!` macro expands to an 'inner' `macro_rules!` macro - the inner macro may use tokens captured from the 'outer' macro in its definition. This means that invoking a foreign `macro_rules!` macro may use a different body `TokenStream` than when the same `macro_rules!` macro is invoked in the same crate. This difference is observable by proc-macros invoked by a `macro_rules!` macro - a `None`-delimited group will be seen in the same-crate case (inserted when convering `Nonterminal`s to the `proc_macro` crate's structs), but no `None`-delimited group in the cross-crate case. To fix this inconsistency, we now insert `None`-delimited groups when 'lowering' a `Nonterminal` `macro_rules!` body, just as we do in `proc_macro_server`. Additionally, we no longer print extra spaces for `None`-delimited groups - as far as pretty-printing is concerned, they don't exist (only their contents do). This ensures that `Display` output of a `TokenStream` does not depend on which crate a `macro_rules!` macro was invoked from. This PR is necessary in order to patch the `solana-genesis-programs` for the upcoming hygiene serialization breakage (#72121 (comment)). The `solana-genesis-programs` crate will need to use a proc macro to re-span certain tokens in a nested `macro_rules!`, which requires us to consistently use a `None`-delimited group. See `src/test/ui/proc-macro/nested-macro-rules.rs` for an example of the kind of nested `macro_rules!` affected by this crate.
Configuration menu - View commit details
-
Copy full SHA for ce49944 - Browse repository at this point
Copy the full SHA ce49944View commit details -
Rollup merge of #73803 - Aaron1011:feature/angle-field-recovery, r=ma…
…tthewjasper Recover extra trailing angle brackets in struct definition This commit applies the existing 'extra angle bracket recovery' logic when parsing fields in struct definitions. This allows us to continue parsing the struct's fields, avoiding spurious 'missing field' errors in code that tries to use the struct.
Configuration menu - View commit details
-
Copy full SHA for 5d429f3 - Browse repository at this point
Copy the full SHA 5d429f3View commit details -
Rollup merge of #73839 - crlf0710:snapshot_the_reality, r=Manishearth
Split and expand nonstandard-style lints unicode unit test. RFC 2457 requested that the `nonstandard_style` series of linted be adjusted to cover the non_ascii_identifier case. However when i read the code of those implementations, it seems they're already supporting non_ascii_identifiers. But the exact rules is a little different than what's proposed in RFC 2457. So I splitted and expanded the existing test case to try to exercise every branch in the code. I think it'll also be easier to examine the cases in these unit tests to see whether it's ok to just leave them as is, or some adjustments are needed. r? @Manishearth
Configuration menu - View commit details
-
Copy full SHA for 244dd28 - Browse repository at this point
Copy the full SHA 244dd28View commit details -
Rollup merge of #73841 - tmiasko:print-region-graph, r=Mark-Simulacrum
Remove defunct `-Z print-region-graph`
Configuration menu - View commit details
-
Copy full SHA for e04070a - Browse repository at this point
Copy the full SHA e04070aView commit details -
Rollup merge of #73848 - pierwill:pierwill-lexer-block-doc, r=jonas-s…
…chievink Fix markdown rendering in librustc_lexer docs Use back-ticks instead of quotation marks in docs for the block comment variant of TokenKind. ## [Before](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lexer/enum.TokenKind.html#variant.BlockComment) and after <img width="1103" alt="Screen Shot 2020-06-28 at 1 22 30 PM" src="https://user-images.githubusercontent.com/19642016/85957562-446a8380-b943-11ea-913a-442cf7744083.png"> <img width="1015" alt="Screen Shot 2020-06-28 at 1 28 29 PM" src="https://user-images.githubusercontent.com/19642016/85957566-4af8fb00-b943-11ea-8fef-a09c1d586772.png"> ## Question For visual consistency, should we use back-ticks throughout the docs for these enum variants?
Configuration menu - View commit details
-
Copy full SHA for 8d638f4 - Browse repository at this point
Copy the full SHA 8d638f4View commit details -
Rollup merge of #73865 - LeSeulArtichaut:patch-1, r=Dylan-DPC
Fix Zulip topic format Yet another instance of me making a mistake after copy-pasting :D r? @Dylan-DPC
Configuration menu - View commit details
-
Copy full SHA for 89429a8 - Browse repository at this point
Copy the full SHA 89429a8View commit details -
Rollup merge of #73892 - GuillaumeGomez:cleanup-e0712, r=Dylan-DPC
Clean up E0712 explanation r? @Dylan-DPC
Configuration menu - View commit details
-
Copy full SHA for 1b37bfa - Browse repository at this point
Copy the full SHA 1b37bfaView commit details -
Rollup merge of #73898 - lcnr:issue61383, r=jonas-schievink
remove duplicate test for #61935 Apparently I somehow messed up the issue number in #67890 which caused us to add this test twice, both as https://github.com/rust-lang/rust/blob/master/src/test/ui/const-generics/issues/issue-61935.rs and https://github.com/rust-lang/rust/blob/master/src/test/ui/const-generics/lazy-normalization/issue-71922.rs #61935 is the actually fixed issue while #71922 is still not working, as it depends on lazy norm of repeat expressions
Configuration menu - View commit details
-
Copy full SHA for 37e812e - Browse repository at this point
Copy the full SHA 37e812eView commit details -
Rollup merge of #73906 - JohnTitor:missing-bt, r=jonas-schievink
Add missing backtick in `ty_error_with_message`
Configuration menu - View commit details
-
Copy full SHA for 9046f23 - Browse repository at this point
Copy the full SHA 9046f23View commit details -
Rollup merge of #73909 - eltonlaw:unsafe-libstd-fs-rs, r=sfackler
`#[deny(unsafe_op_in_unsafe_fn)]` in libstd/fs.rs The `libstd/fs.rs` part of #73904 . Wraps the two calls to an unsafe fn `Initializer::nop()` in an `unsafe` block. Followed instructions in parent issue, ran `./x.py check src/libstd/` after adding the lint and two warnings were given. After adding these changes, those disappear.
Configuration menu - View commit details
-
Copy full SHA for 441f04b - Browse repository at this point
Copy the full SHA 441f04bView commit details -
Rollup merge of #73910 - cuviper:while-indexing, r=oli-obk
Rewrite a few manual index loops with while-let There were a few instances of this pattern: ```rust while index < vec.len() { let item = &vec[index]; // ... } ``` These can be indexed at once: ```rust while let Some(item) = vec.get(index) { // ... } ``` Particularly in `ObligationForest::process_obligations`, this mitigates a codegen regression found with LLVM 11 (#73526).
Configuration menu - View commit details
-
Copy full SHA for 8fcb015 - Browse repository at this point
Copy the full SHA 8fcb015View commit details -
Rollup merge of #73929 - kraai:fix-comment-typo, r=jonas-schievink
Fix comment typo
Configuration menu - View commit details
-
Copy full SHA for d7be1e4 - Browse repository at this point
Copy the full SHA d7be1e4View commit details -
Rollup merge of #73414 - lzutao:slice_strip, r=dtolnay
Implement `slice_strip` feature Tracking issue: #73413
Configuration menu - View commit details
-
Copy full SHA for 63d392e - Browse repository at this point
Copy the full SHA 63d392eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c68bb6 - Browse repository at this point
Copy the full SHA 1c68bb6View commit details -
Rollup merge of #73622 - LeSeulArtichaut:unsafe-libcore, r=nikomatsakis
Deny unsafe ops in unsafe fns in libcore After `liballoc`, It's time for `libcore` :D I planned to do this bit by bit to avoid having a big chunk of diffs, so to make reviews easier, and to make the unsafe blocks narrower and take the time to document them properly. r? @nikomatsakis cc @RalfJung
Configuration menu - View commit details
-
Copy full SHA for 500634b - Browse repository at this point
Copy the full SHA 500634bView commit details -
Rollup merge of #73684 - richkadel:llvm-coverage-map-gen-2, r=wesleyw…
…iser add spans to injected coverage counters, extract with CoverageData query This is the next iteration on the Rust Coverage implementation, and follows PR #73488 @tmandry @wesleywiser I came up with an approach for coverage spans, pushing them through the Call terminator as additional args so they can be extracted by the CoverageData query. I'm using an IndexVec to store them in CoverageData such that there can be only one per index (even if parts of the MIR get duplicated during optimization). If this approach works for you, I can quickly expand on this to build a separate IndexVec for counter expressions, using a separate call that will be ignored during code generation, but from which I can extract the counter expression values. Let me know your thoughts. Thanks! r? @tmandry Rust compiler MCP rust-lang/compiler-team#278 Relevant issue: #34701 - Implement support for LLVMs code coverage instrumentation
Configuration menu - View commit details
-
Copy full SHA for dc762ce - Browse repository at this point
Copy the full SHA dc762ceView commit details -
Rollup merge of #73812 - petrochenkov:prettyref, r=varkor
ast_pretty: Pass some token streams and trees by reference Salvaged from an intermediate version of #73345.
Configuration menu - View commit details
-
Copy full SHA for 32f5e63 - Browse repository at this point
Copy the full SHA 32f5e63View commit details -
Rollup merge of #73853 - pierwill:pierwill-multispan-doc, r=jonas-sch…
…ievink Add newline to rustc MultiSpan docs Also adds back-ticks when referring to the contents of this collection.
Configuration menu - View commit details
-
Copy full SHA for 294b972 - Browse repository at this point
Copy the full SHA 294b972View commit details -
Rollup merge of #73883 - ehuss:rustdoc-stage-previous, r=Mark-Simulacrum
Compile rustdoc less often. Previously rustdoc was built 3 times with `x.py test`: 1. stage2 (using stage1 compiler) for compiletest tests (stage1-tools copied to stage2). 2. stage1 (using stage0 compiler) for std crate tests (stage0-tools copied to stage1). 3. stage2 test (using stage2 compiler) for rustdoc crate tests and error_index_generator (stage2-tools). This PR removes the majority of number 3, where it will instead use the stage1 compiler, which will share the artifacts from number 1. This matches the behavior of the libstd crate tests. I don't think it is entirely necessary to run the tests using stage2. At `-j2`, the last build step goes from about 300s to 70s on my machine. It's not a huge win, but shaving 4 minutes isn't bad. The other two builds would be pretty difficult (or undesired or impossible) to unify. It looks like std tests use stage1 very intentionally (see `force_use_stage1` and its history), and compiletests use the top stage very intentionally. Unfortunately the linkchecker builds all docs at stage2 (stage2-tools), which means a few build script artifacts are not shared. It's not really clear to me how to fix that (because it uses `default_doc`, there doesn't seem to be any control over the stages). --- For `x.py doc`, rustdoc was previously built three times (with compiler-docs): 1. stage2 (using stage1 compiler) for normal documentation output (stage1-tools copied to stage2). 2. stage1 (using stage0 compiler) for compiler-docs 3. stage2 (using stage2 compiler) for error_index_generator (stage2-tools) This PR combines these so that they consistently use the "top stage" rustdoc. I don't know why the compiler-docs was written to use stage minus one, but it seems better to be consistent across the doc steps. --- I've tried to test this with a variety of commands (`x.py doc`, `x.py test`, different `--stage` flags, `full-bootstrap`, setting `--target`, etc.) to try to make sure there aren't significant regressions here. It's tricky since there are so many variables, and this stuff is difficult for me to fully understand. Closes #70799 (I think)
Configuration menu - View commit details
-
Copy full SHA for 7b2f44a - Browse repository at this point
Copy the full SHA 7b2f44aView commit details -
Rollup merge of #73885 - pietroalbini:ci-fix-wasm32, r=kennytm
Fix wasm32 being broken due to a NodeJS version bump Emscripten's SDK [recently bumped the version of NodeJS they shipped](emscripten-core/emsdk#529), but our Dockerfile for the wasm32 builder hardcoded the version number. This will cause consistent CI failures once the currently cached image is rebuilt (either due to a change or due to the cache expiring). This PR fixes the problem by finding the latest version of NodeJS in the Emscripten SDK and symlinking it to a "latest" directory, which is then added to the `PATH`.
Configuration menu - View commit details
-
Copy full SHA for 4593e9f - Browse repository at this point
Copy the full SHA 4593e9fView commit details -
Rollup merge of #73903 - luxxxxy:ios-rustc, r=nikomatsakis
Changes required for rustc/cargo to build for iOS targets cargo, rustc, clippy, rust-src, and rust-analysis successfully build for `aarch64-apple-ios` with these changes. NOTE: cargo required arm64-ios openssl/libcurl to be linked. ![image](https://user-images.githubusercontent.com/65794972/86178510-75d78080-baf6-11ea-9c17-b74bd6c85272.png) ![image](https://user-images.githubusercontent.com/65794972/86178525-7bcd6180-baf6-11ea-9974-f99980cbdb24.png)
Configuration menu - View commit details
-
Copy full SHA for 061f1c6 - Browse repository at this point
Copy the full SHA 061f1c6View commit details -
Rollup merge of #73938 - nbdd0121:checked_opt, r=nagisa
Optimise fast path of checked_ops with `unlikely` This PR marks paths returning `None` in checked_ops as unlikely to improvde codegen. Fixes #73731
Configuration menu - View commit details
-
Copy full SHA for 4f536f2 - Browse repository at this point
Copy the full SHA 4f536f2View commit details -
Auto merge of #73950 - Manishearth:rollup-0dtxnit, r=Manishearth
Rollup of 16 pull requests Successful merges: - #72569 (Remove legacy InnoSetup GUI installer) - #73306 (Don't implement Fn* traits for #[target_feature] functions) - #73345 (expand: Stop using nonterminals for passing tokens to attribute and derive macros) - #73449 (Provide more information on duplicate lang item error.) - #73569 (Handle `macro_rules!` tokens consistently across crates) - #73803 (Recover extra trailing angle brackets in struct definition) - #73839 (Split and expand nonstandard-style lints unicode unit test.) - #73841 (Remove defunct `-Z print-region-graph`) - #73848 (Fix markdown rendering in librustc_lexer docs) - #73865 (Fix Zulip topic format) - #73892 (Clean up E0712 explanation) - #73898 (remove duplicate test for #61935) - #73906 (Add missing backtick in `ty_error_with_message`) - #73909 (`#[deny(unsafe_op_in_unsafe_fn)]` in libstd/fs.rs) - #73910 (Rewrite a few manual index loops with while-let) - #73929 (Fix comment typo) Failed merges: r? @ghost
Configuration menu - View commit details
-
Copy full SHA for b7856f6 - Browse repository at this point
Copy the full SHA b7856f6View commit details -
Auto merge of #73954 - Manishearth:rollup-8qvh170, r=Manishearth
Rollup of 10 pull requests Successful merges: - #73414 (Implement `slice_strip` feature) - #73564 (linker: Create GNU_EH_FRAME header by default when producing ELFs) - #73622 (Deny unsafe ops in unsafe fns in libcore) - #73684 (add spans to injected coverage counters, extract with CoverageData query) - #73812 (ast_pretty: Pass some token streams and trees by reference) - #73853 (Add newline to rustc MultiSpan docs) - #73883 (Compile rustdoc less often.) - #73885 (Fix wasm32 being broken due to a NodeJS version bump) - #73903 (Changes required for rustc/cargo to build for iOS targets) - #73938 (Optimise fast path of checked_ops with `unlikely`) Failed merges: r? @ghost
Configuration menu - View commit details
-
Copy full SHA for 8a6d434 - Browse repository at this point
Copy the full SHA 8a6d434View commit details