Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 7 pull requests #129254

Closed
wants to merge 16 commits into from

Commits on Jul 23, 2024

  1. Suggest adding Result return type for associated method in E0277.

    For following:
    
    ```rust
    struct A;
    impl A {
        fn test4(&self) {
            let mut _file = File::create("foo.txt")?;
            //~^ ERROR the `?` operator can only be used in a method
        }
    ```
    Suggest:
    
    ```rust
    impl A {
        fn test4(&self) -> Result<(), Box<dyn std::error::Error>> {
            let mut _file = File::create("foo.txt")?;
            //~^ ERROR the `?` operator can only be used in a method
    
        Ok(())
        }
    }
    ```
    
    For rust-lang#125997
    surechen committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    b4b991e View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Configuration menu
    Copy the full SHA
    b1493ba View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. doc: std::env::var: Returns None for names with '=' or NUL byte

    The documentation incorrectly stated that std::env::var could return
    an error for variable names containing '=' or the NUL byte. Copy the
    correct documentation from var_os.
    
    var_os was fixed in Commit 8a7a665, Pull Request rust-lang#109894, which
    closed Issue rust-lang#109893.
    
    This documentation was incorrectly added in commit f2c0f29, which
    replaced a panic in var_os by returning None, but documented the
    change as "May error if ...".
    
    Reference the specific error values and link to them.
    evanj committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    d5a7c45 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2024

  1. bootstrap: fix clean's remove_dir_all implementation

    ... by using `std::fs::remove_dir_all`, which handles a bunch of edge
    cases including read-only files and symlinks which are extremely tricky
    on Windows.
    jieyouxu committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    1687c55 View commit details
    Browse the repository at this point in the history
  2. code review improvements

    evanj committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    b0023f5 View commit details
    Browse the repository at this point in the history
  3. Typo

    smoelius committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    dc47665 View commit details
    Browse the repository at this point in the history
  4. Check that #[may_dangle] is properly applied

    It's only valid when applied to a type or lifetime parameter
    in `Drop` trait implementation.
    GoldsteinE committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    3a9bf45 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    df6cb95 View commit details
    Browse the repository at this point in the history
  6. fix: fs::remove_dir_all: treat ENOENT as success

    binarycat committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    9d9e135 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#125854 - beetrees:zst-arg-abi, r=estebank

    Move ZST ABI handling to `rustc_target`
    
    Currently, target specific handling of ZST function call ABI (specifically passing them indirectly instead of ignoring them) is handled in `rustc_ty_utils`, whereas all other target specific function call ABI handling is located in `rustc_target`. This PR moves the ZST handling to `rustc_target` so that all the target-specific function call ABI handling is in one place. In the process of doing so, this PR fixes rust-lang#125850 by ensuring that ZST arguments are always correctly ignored in the x86-64 `"sysv64"` ABI; any code which would be affected by this fix would have ICEd before this PR. Tests are also added using `#[rustc_abi(debug)]` to ensure this behaviour does not regress.
    
    Fixes rust-lang#125850
    matthiaskrgr committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    8fa089b View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#127623 - lolbinarycat:fix_remove_dir_all, r…

    …=Amanieu
    
    fix: fs::remove_dir_all: treat internal ENOENT as success
    
    fixes rust-lang#127576
    matthiaskrgr committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    4a95777 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#128084 - surechen:fix_125997_v1, r=cjgillot

    Suggest adding Result return type for associated method in E0277.
    
    Recommit rust-lang#126515 because I messed up during rebase,
    
    Suggest adding Result return type for associated method in E0277.
    
    For following:
    
    ```rust
    struct A;
    impl A {
        fn test4(&self) {
            let mut _file = File::create("foo.txt")?;
            //~^ ERROR the `?` operator can only be used in a method
        }
    ```
    
    Suggest:
    
    ```rust
    impl A {
        fn test4(&self) -> Result<(), Box<dyn std::error::Error>> {
            let mut _file = File::create("foo.txt")?;
            //~^ ERROR the `?` operator can only be used in a method
    
        Ok(())
        }
    }
    ```
    
    For rust-lang#125997
    
    r? ```@cjgillot```
    matthiaskrgr committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    1c24424 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#128902 - evanj:evan.jones/env-var-doc, r=wo…

    …rkingjubilee
    
    doc: std::env::var: Returns None for names with '=' or NUL byte
    
    The documentation incorrectly stated that std::env::var could return an error for variable names containing '=' or the NUL byte. Copy the correct documentation from var_os.
    
    var_os was fixed in Commit 8a7a665, Pull Request rust-lang#109894, which closed Issue rust-lang#109893.
    
    This documentation was incorrectly added in commit f2c0f29, which replaced a panic in var_os by returning None, but documented the change as "May error if ...".
    
    Reference the specific error values and link to them.
    matthiaskrgr committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    738bf3a View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#129187 - jieyouxu:squeaky-clean-windows-sym…

    …links, r=Kobzol
    
    bootstrap: fix clean's remove_dir_all implementation
    
    It turns out bootstrap's `clean.rs`'s hand-rolled `rm_rf` (which probably comes before `std::fs::remove_dir_all` was stable) is very broken on native Windows around both read-only files/directories and especially symbolic links. So instead of rolling our own, just use `std::fs::remove_dir_all`.
    
    This is a blocker for compiletest's own `rm_rf` implementation rust-lang#129155 which happens to be also buggy, which in turn is a blocker for the rmake.rs test port rust-lang#128562 that heavily exercises symlinks (I was reviewing rust-lang#128562 and testing it on native Windows which is how I found out).
    
    I also left a FIXME for `detect_src_and_out` due to a failing assertion on native Windows (opened rust-lang#129188):
    
    ```
    ---- core::config::tests::detect_src_and_out stdout ----
    thread 'core::config::tests::detect_src_and_out' panicked at src\core\config\tests.rs:72:13:
    assertion `left == right` failed
      left: "E:\\tmp"
     right: "C:\\tmp"
    ```
    
    Fixes rust-lang#112544 (because now we handle Windows symlinks properly).
    
    try-job: x86_64-msvc
    try-job: i686-mingw
    try-job: test-various
    try-job: armhf-gnu
    try-job: aarch64-apple
    try-job: aarch64-gnu
    matthiaskrgr committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    ed934b2 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#129235 - GoldsteinE:check-may-dangle, r=com…

    …piler-errors
    
    Check that `#[may_dangle]` is properly applied
    
    It's only valid when applied to a type or lifetime parameter in `Drop` trait implementation.
    
    Tracking issue: rust-lang#34761
    cc rust-lang#34761 (comment)
    matthiaskrgr committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    05be576 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#129245 - smoelius:patch-1, r=lqd

    Typo
    
    Fix a typo in a comment.
    matthiaskrgr committed Aug 18, 2024
    Configuration menu
    Copy the full SHA
    d0638a1 View commit details
    Browse the repository at this point in the history