Skip to content
Permalink
master
Switch branches/tags

Commits on Jul 29, 2022

  1. Auto merge of #99467 - BelovDV:add_option_link_arg, r=petrochenkov

    flag '-l link-arg=___ was added
    
    #99427
    bors committed Jul 29, 2022
  2. Auto merge of #99715 - tmiasko:coverage-run-make, r=Mark-Simulacrum

    Move coverage tests from run-make-fulldeps to run-make
    bors committed Jul 29, 2022
  3. Auto merge of #99892 - JohnTitor:rollup-qi4fem8, r=JohnTitor

    Rollup of 8 pull requests
    
    Successful merges:
    
     - #99686 (add suggestion when there is a impl of external trait on pointer with wrong coherence rules)
     - #99760 (doc/rustc: describe the uefi target platforms)
     - #99766 (Htmldocck: Substitute the doc channel when blessing)
     - #99781 (Use String::from_utf8_lossy in CStr demo)
     - #99803 (Update mentions to `rustc_metadata::rmeta::Lazy`)
     - #99845 (Remove `$` prefix for bash scripts in doc)
     - #99850 (rustdoc: Remove more Clean trait implementations)
     - #99872 (Clone the `src/llvm-project` submodule if profiling is enabled)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Jul 29, 2022
  4. Auto merge of #99667 - ouz-a:some_branch, r=oli-obk

    Optimize `UnDerefer`
    
    Addresses the performance [issues](#98145 (comment)) faced here.
    
    r? `@oli-obk`
    bors committed Jul 29, 2022
  5. Rollup merge of #99872 - Nilstrieb:bootstrap-llvm, r=jyn514

    Clone the `src/llvm-project` submodule if profiling is enabled
    
    To compile rustc with profiling information, `compiler-rt` from LLVM is required. Building it requires the `src/llvm-project` submodule to be initialized and updated.
    
    Fixes #99869
    JohnTitor committed Jul 29, 2022
  6. Rollup merge of #99850 - GuillaumeGomez:clean-more-items, r=notriddle

    rustdoc: Remove more Clean trait implementations
    
    Follow-up of #99638.
    
    r? `@notriddle`
    JohnTitor committed Jul 29, 2022
  7. Rollup merge of #99845 - xtexChooser:patch-1, r=GuillaumeGomez

    Remove `$` prefix for bash scripts in doc
    JohnTitor committed Jul 29, 2022
  8. Rollup merge of #99803 - JohnTitor:update-lazy-docs, r=compiler-errors

    Update mentions to `rustc_metadata::rmeta::Lazy`
    
    While working on rust-lang/rustc-dev-guide#1411, I noticed there are still some mentions of `Lazy`. This updates them to `LazyValue`, `LazyArray`, or `LazyTable`.
    
    r? ````@compiler-errors````
    
    Signed-off-by: Yuki Okushi <jtitor@2k36.org>
    JohnTitor committed Jul 29, 2022
  9. Rollup merge of #99781 - workingjubilee:demo-string-from-cstr, r=thomcc

    Use String::from_utf8_lossy in CStr demo
    
    Fixes #99755.
    JohnTitor committed Jul 29, 2022
  10. Rollup merge of #99766 - fmease:htmldocck-subst-channel-when-blessing…

    …, r=Mark-Simulacrum
    
    Htmldocck: Substitute the doc channel when blessing
    
    Since #84942, the snippet `{{channel}}` gets substituted with the concrete “doc channel” (e.g. `https://doc.rust-lang.org/nightly`) when snapshot files are checked against the actual rustdoc output.
    
    However, when you `--bless` rustdoc tests, htmldocck just dumps the concrete channel into the snapshot file and
    you have to manually do a find-and-replace after blessing to uphold what #84942 set out to fix.
    
    I admit it's a bit fragile to blindly replace URLs like this but I guess it's not too bad in practice.
    Feel free to close this PR if you don't think that this is a good idea.
    
    `@rustbot` label T-rustdoc A-testsuite
    JohnTitor committed Jul 29, 2022
  11. Rollup merge of #99760 - dvdhrm:rw/uefiplat, r=ehuss

    doc/rustc: describe the uefi target platforms
    
    Add a `platform-support` entry to the rustc-docs for the different `*-unknown-uefi` targets. This describes in detail how this platform works, a few basic examples, and how to compile for the platform.
    
    Red Hat is sponsoring my work on this platform, so I am putting myself down as target maintainer. Co-maintainers are more than welcome to join me in the effort. Communication is going on off-list to coordinate the different efforts.
    
    Note that the ultimate goal is to move the UEFI targets to Tier-2 so bootloaders can be more easily supported in commercial products. This documentation is the first step towards that goal, but should be a viable documentation even for the current Tier-3 status of the targets.
    
    I also want to point out that there is an ongoing GSoC-effort to port the rust standard library to UEFI (by Ayush Singh). While this work is not necessarily required to get to Tier-2, we definitely should coordinate the efforts and update the documentation as soon as any such ports are merged.
    
    Note that the targets are already used by multiple commercial and non commercial production systems, including, but not limited to:
    
     * Tianocore-EDK2 (Official UEFI SDK by Intel) comes with rust support
       in its staging repository (not part of any release, yet).
       (https://github.com/tianocore/edk2-staging/tree)
     * Intel's research program "Project Mu" uses the rust UEFI targets to
       show possible future replacements for Tianocore-EDK2.
     * The Rust OS "Redox" uses the UEFI targets for its bootloader.
       (https://www.redox-os.org/)
     * The hugely popular in-depth documentation of OS development in Rust
       by Philipp Oppermann uses the UEFI targets.
       (https://os.phil-opp.com/)
    JohnTitor committed Jul 29, 2022
  12. Rollup merge of #99686 - vincenzopalazzo:macros/impl_on_ptr, r=compil…

    …er-errors
    
    add suggestion when there is a impl of external trait on pointer with wrong coherence rules
    
    Closes #99572
    
    This will try to improve the node in the error message by suggesting a general solution because the solution, in this case, is application depended.
    
    I'm not super happy regarding the code quality, but I'm happy to have feedback on it.
    
    `@rustbot` r? `@compiler-errors`
    JohnTitor committed Jul 29, 2022
  13. Auto merge of #99660 - PrestonFrom:issue_99265, r=compiler-errors

    Generate correct suggestion with named arguments used positionally
    
    Address issue #99265 by checking each positionally used argument
    to see if the argument is named and adding a lint to use the name
    instead. This way, when named arguments are used positionally in a
    different order than their argument order, the suggested lint is
    correct.
    
    For example:
    ```
    println!("{b} {}", a=1, b=2);
    ```
    This will now generate the suggestion:
    ```
    println!("{b} {a}", a=1, b=2);
    ```
    
    Additionally, this check now also correctly replaces or inserts
    only where the positional argument is (or would be if implicit).
    Also, width and precision are replaced with their argument names
    when they exists.
    
    Since the issues were so closely related, this fix for issue #99265
    also fixes issue #99266.
    
    Fixes #99265
    Fixes #99266
    bors committed Jul 29, 2022
  14. Auto merge of #99512 - nikic:llvm-15-fixes, r=cuviper

    LLVM 15 compatibility fixes
    
    These are LLVM 15 compatibility fixes split out from #99464. There are three changes here:
    
     * Emit elementtype attribtue for ldrex/strex intrinsics. This is requires as part of the opaque pointers migration.
     * Make more tests compatible with opaque pointers. These are either new or aren't run on x86.
     * Remove a test for `#[rustc_allocator]`. Since #99574 there are more requirement on the function signature. I dropped the test entirely, since we already test the effect of the attribute elsewhere.
     * The main change: When a worker thread emits an error, wait for other threads to finish before unwinding the main thread and exiting. Otherwise workers may end up using globals for which destructors have already been run. This was probably never quite correct, but became an active problem with LLVM 15, because it started using global dtors in critical places, as part of ManagedStatic removal.
    
    Fixes #99432 (and probably also #95679).
    
    r? `@cuviper`
    bors committed Jul 29, 2022

Commits on Jul 28, 2022

  1. Auto merge of #99865 - flip1995:clippyup, r=Manishearth

    Update Clippy
    
    r? `@Manishearth`
    bors committed Jul 28, 2022
  2. Clone the src/llvm-project submodule if profiling is enabled

    To compile rustc with profiling information, `compiler-rt` from
    LLVM is required. Building it requires the `src/llvm-project` submodule
    to be initialized and updated.
    Nilstrieb committed Jul 28, 2022
  3. Auto merge of #99863 - Dylan-DPC:rollup-lq9w047, r=Dylan-DPC

    Rollup of 6 pull requests
    
    Successful merges:
    
     - #99628 (add more docs regarding ideographic numbers)
     - #99689 (Revert `write!` and `writeln!` to late drop temporaries)
     - #99807 (Fix PermissionDenied UI tests on WSL)
     - #99817 (rustdoc: remove Clean trait impls for more items)
     - #99851 (Fix small typo in Cargo.toml comment)
     - #99856 (fix: remove fake no_dead_strip for osx)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Jul 28, 2022
  4. Update Cargo.lock

    flip1995 committed Jul 28, 2022
  5. Auto merge of #9257 - flip1995:rustup, r=flip1995

    Rustup
    
    r? `@ghost`
    
    changelog: none
    bors committed Jul 28, 2022
  6. Rollup merge of #99856 - csmoe:osx-no-dead-strip, r=bjorn3

    fix: remove fake no_dead_strip for osx
    
    Closes #99788
    
    Link arg `-no_dead_strip` doesn't exist on OSX at all.
    The `no_gc_sections` function was never called before export-executable-symols implementation, and `export-executable-symbols` still works, so we just remove it.
    r? `@bjorn3`
    Dylan-DPC committed Jul 28, 2022
  7. Rollup merge of #99851 - yotamofek:patch-1, r=Mark-Simulacrum

    Fix small typo in Cargo.toml comment
    Dylan-DPC committed Jul 28, 2022
  8. Rollup merge of #99817 - notriddle:notriddle/clean-trait-removal, r=G…

    …uillaumeGomez
    
    rustdoc: remove Clean trait impls for more items
    
    Follow up to #99638 and #99672
    Dylan-DPC committed Jul 28, 2022
  9. Rollup merge of #99807 - Nilstrieb:wsl-ui-test-fix, r=Mark-Simulacrum

    Fix PermissionDenied UI tests on WSL
    
    On my WSL with `appendWindowsPath=true`, running an invalid command returns `PermissionDenied` instead of `NotFound`, causing two UI tests to fail.
    Dylan-DPC committed Jul 28, 2022
  10. Rollup merge of #99689 - dtolnay:write, r=Mark-Simulacrum

    Revert `write!` and `writeln!` to late drop temporaries
    
    Closes (on master, but not on beta) #99684 by reverting the `write!` and `writeln!` parts of #96455.
    
    argument position | before<br>#94868 | after<br>#94868 | after<br>#96455 | after<br>this PR | desired<br>(unimplementable)
    --- |:---:|:---:|:---:|:---:|:---:
    `write!($tmp, "…", …)` | **⸺late** | **⸺late** | *early⸺* | **⸺late** | **⸺late**
    `write!(…, "…", $tmp)` | **⸺late** | **⸺late** | *early⸺* | **⸺late** | *early⸺*
    `writeln!($tmp, "…", …)` | **⸺late** | **⸺late** | *early⸺* | **⸺late** | **⸺late**
    `writeln!(…, "…", $tmp)` | **⸺late** | **⸺late** | *early⸺* | **⸺late** | *early⸺*
    `print!("…", $tmp)` | **⸺late** | **⸺late** | *early⸺* | *early⸺* | *early⸺*
    `println!("…", $tmp)` | *early⸺* | **⸺late** | *early⸺* | *early⸺* | *early⸺*
    `eprint!("…", $tmp)` | **⸺late** | **⸺late** | *early⸺* | *early⸺* | *early⸺*
    `eprintln!("…", $tmp)` | *early⸺* | **⸺late**| *early⸺* | *early⸺* | *early⸺*
    `panic!("…", $tmp)` | *early⸺* | *early⸺* | *early⸺* | *early⸺* | *early⸺*
    
    "Late drop" refers to dropping temporaries at the nearest semicolon **outside** of the macro invocation.
    
    "Early drop" refers to dropping temporaries inside of the macro invocation.
    Dylan-DPC committed Jul 28, 2022
  11. Rollup merge of #99628 - vincenzopalazzo:macros/is_number_doc, r=josh…

    …triplett
    
    add more docs regarding ideographic numbers
    
    This was discussed in the last lib meeting and I try to avoid forgetting to open a PR because I think having some docs can help people.
    
    However, I think we need to discuss a little bit if this is enough or if we need to add more clarification? Maybe an example?
    
    Inspiration Source: #84056 (comment)
    
    Including suggestion #99626 (comment) my bad command git close the PR
    Dylan-DPC committed Jul 28, 2022
  12. Auto merge of #99780 - Nilstrieb:mir-opt-test-line-no, r=oli-obk

    Use line numbers relative to the function in mir-opt tests
    
    As shown in #99770, the line numbers can be a big source of needless and confusing diffs. This PR adds a new flag `-Zmir-pretty-relative-line-numbers` to make them relative to the function declaration, which avoids most needless diffs from attribute changes.
    
    `@JakobDegen` told me that there has been a zulip conversation about disabling line numbers with mixed opinions, so I'd like to get some feedback here, for this hopefully better solution.
    
    r? rust-lang/wg-mir-opt
    bors committed Jul 28, 2022
  13. add more docs regarding ideographic numbers

    Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
    vincenzopalazzo committed Jul 28, 2022
  14. Auto merge of #99849 - Dylan-DPC:rollup-1yfpplw, r=Dylan-DPC

    Rollup of 5 pull requests
    
    Successful merges:
    
     - #99714 (Fix regression introduced with #99383)
     - #99723 (Allow using stable os::fd::raw items through unstable os::wasi module)
     - #99810 (Fix settings slider on small width screens)
     - #99837 (Avoid `Symbol` to `String` conversions)
     - #99846 (Refactor `UnresolvedImportError`)
    
    Failed merges:
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Jul 28, 2022
Older