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 8 pull requests #93929

Closed
wants to merge 24 commits into from

Commits on Feb 8, 2022

  1. Configuration menu
    Copy the full SHA
    8b13fd4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1b9e4a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b64a822 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a38ff48 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2022

  1. Configuration menu
    Copy the full SHA
    dfa9d64 View commit details
    Browse the repository at this point in the history
  2. linkchecker: fix panic on directory symlinks

    In Debian and Ubuntu, there are some patches that change the rustc/fonts
    directory to a symlink to the system fonts. This triggers a latent bug
    in linkchecker, as the DirEntry filetype isn't a dir but later on the
    file itself, when opened, is one, triggering an unreachable!() clause.
    
    This patch fixes the situation by using std::fs::metadata, which goes
    through symlinks.
    
    I'd have added a test case but `tidy` doesn't seem to like symlinks, and
    moreover I'm not sure how Git deals with symlinks on Windows.
    
    Signed-off-by: Simon Chopin <simon.chopin@canonical.com>
    schopin-pro committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    3a1ffea View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9322d09 View commit details
    Browse the repository at this point in the history
  4. Add 2 tests

    matthiaskrgr committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    9b17e2d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cb3cff3 View commit details
    Browse the repository at this point in the history
  6. Fix more chalk lowering issues

    - Implement lowering for subtype goals
    - Use correct lang item for Generator trait
    - Use `lower_into` for lowering `ty::Variance`
    matthewjasper committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    d4fa173 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1e6d382 View commit details
    Browse the repository at this point in the history
  8. Renumber universes when canonicalizing for Chalk

    This is required to avoid creating large numbers of universes from each
    Chalk query, while still having enough universe information for lifetime
    errors.
    matthewjasper committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    caa10dc View commit details
    Browse the repository at this point in the history
  9. Update chalk tests

    matthewjasper committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    05e66a6 View commit details
    Browse the repository at this point in the history
  10. Address review comment

    canonicalize_chalk_query -> canonicalize_query_preserving_universes
    matthewjasper committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    575f173 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    087fb23 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2022

  1. Configuration menu
    Copy the full SHA
    56d43a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9c58fb5 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#93757 - jackh726:gat-bug-tests, r=nikomatsakis

    Add some known GAT bugs as tests
    
    In the spirit of rust-lang/compiler-team#476
    
    These tests are marked as "check-fail", but also commented with "this should pass". This many of the open GAT issues that are accepted bugs.
    
    r? `@nikomatsakis`
    matthiaskrgr committed Feb 12, 2022
    Configuration menu
    Copy the full SHA
    59c76e2 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#93759 - dtolnay:usetree, r=nagisa

    Pretty print ItemKind::Use in rustfmt style
    
    This PR backports the formatting for `use` items from https://github.com/dtolnay/prettyplease into rustc_ast_pretty.
    
    Before:
    
    ```rust
    use core::{cmp::{Eq, Ord, PartialEq, PartialOrd},
        convert::{AsMut, AsRef, From, Into},
        iter::{DoubleEndedIterator, ExactSizeIterator, Extend, FromIterator,
        IntoIterator, Iterator},
        marker::{Copy as Copy, Send as Send, Sized as Sized, Sync as Sync, Unpin
        as U}, ops::{*, Drop, Fn, FnMut, FnOnce}};
    ```
    
    After:
    
    ```rust
    use core::{
        cmp::{Eq, Ord, PartialEq, PartialOrd},
        convert::{AsMut, AsRef, From, Into},
        iter::{
            DoubleEndedIterator, ExactSizeIterator, Extend, FromIterator,
            IntoIterator, Iterator,
        },
        marker::{
            Copy as Copy, Send as Send, Sized as Sized, Sync as Sync, Unpin as U,
        },
        ops::{*, Drop, Fn, FnMut, FnOnce},
    };
    ```
    matthiaskrgr committed Feb 12, 2022
    Configuration menu
    Copy the full SHA
    056124b View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#93810 - matthewjasper:chalk-and-canonical-u…

    …niverses, r=jackh726
    
    Improve chalk integration
    
    - Support subtype bounds in chalk lowering
    - Handle universes in canonicalization
    - Handle type parameters in chalk responses
    - Use `chalk_ir::LifetimeData::Empty` for `ty::ReEmpty`
    - Remove `ignore-compare-mode-chalk` for tests that no longer hang (they may still fail or ICE)
    
    This is enough to get a hello world program to compile with `-Zchalk` now. Some of the remaining issues that are needed to get Chalk integration working on larger programs are:
    
    - rust-lang/chalk#234
    - rust-lang/chalk#548
    - rust-lang/chalk#734
    - Generators are handled differently in chalk and rustc
    
    r? `@jackh726`
    matthiaskrgr committed Feb 12, 2022
    Configuration menu
    Copy the full SHA
    08105be View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#93885 - Badel2:error-download-ci-llvm, r=Ma…

    …rk-Simulacrum
    
    bootstrap.py: Suggest disabling download-ci-llvm option if url fails to download
    
    I got an error when trying to build the compiler using an old commit, and it turns out it was because the option `download-ci-llvm` was implicitly set to true. So this pull request tries to add a help message for other people that may run into the same problem.
    
    To reproduce my error:
    
    ```
    git checkout 8d7707f
    ./x.py test
    [...]
    spurious failure, trying again
    downloading https://ci-artifacts.rust-lang.org/rustc-builds/db002a06ae9154a35d410550bc5132df883d7baa/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
    curl: (22) The requested URL returned error: 404
    
    failed to run: curl -# -y 30 -Y 10 --connect-timeout 30 --retry 3 -Sf -o /tmp/tmp8g13rb4n https://ci-artifacts.rust-lang.org/rustc-builds/db002a06ae9154a35d410550bc5132df883d7baa/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
    Build completed unsuccessfully in 0:00:46
    ```
    
    This is my `config.toml`:
    
    ```
    # Includes one of the default files in src/bootstrap/defaults
    profile = "compiler"
    changelog-seen = 2
    
    [rust]
    debug = true
    ```
    
    To reproduce an error with this branch:
    
    Change line 618 of bootstrap.py to
    ```
            url = "rustc-builds-error404/{}".format(llvm_sha)
    ```
    
    Delete llvm and cached tarball, and set `llvm.download-ci-llvm=true` in config.toml.
    
    ```
    ./x.py test
    [...]
    spurious failure, trying again
    downloading https://ci-artifacts.rust-lang.org/rustc-builds-error404/719b04ca99be0c78e09a8ec5e2eda082a5d8ccae/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
    curl: (22) The requested URL returned error: 404
    
    failed to run: curl -# -y 30 -Y 10 --connect-timeout 30 --retry 3 -Sf -o /tmp/tmpesl1ydvo https://ci-artifacts.rust-lang.org/rustc-builds-error404/719b04ca99be0c78e09a8ec5e2eda082a5d8ccae/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
    error: failed to download llvm from ci
    help: old builds get deleted after a certain time
    help: if trying to compile an old commit of rustc, disable `download-ci-llvm` in config.toml:
    
    [llvm]
    download-ci-llvm = false
    
    Build completed unsuccessfully in 0:00:01
    ```
    
    Regarding the implementation, I expected to be able to use a try/catch block in `_download_ci_llvm`, but the `run` function calls `sys.exit` instead of raising an exception so that's not possible. Also, suggestions for better wording of the help message are welcome.
    matthiaskrgr committed Feb 12, 2022
    Configuration menu
    Copy the full SHA
    8865f33 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#93897 - schopin-pro:linkchecker-symlink, r=…

    …Mark-Simulacrum
    
    linkchecker: fix panic on directory symlinks
    
    In Debian and Ubuntu, there are some patches that change the rustc/fonts
    directory to a symlink to the system fonts. This triggers a latent bug
    in linkchecker, as the DirEntry filetype isn't a dir but later on the
    file itself, when opened, is one, triggering an unreachable!() clause.
    
    This patch fixes the situation by using std::fs::metadata, which goes
    through symlinks.
    
    I'd have added a test case but `tidy` doesn't seem to like symlinks, and
    moreover I'm not sure how Git deals with symlinks on Windows.
    
    Signed-off-by: Simon Chopin <simon.chopin@canonical.com>
    matthiaskrgr committed Feb 12, 2022
    Configuration menu
    Copy the full SHA
    759f978 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#93898 - GuillaumeGomez:error-code-check, r=…

    …Mark-Simulacrum
    
    tidy: Extend error code check
    
    We discovered in rust-lang#93845 that the error code tidy check didn't check everything: if you remove an error code from the listing even if it has an explanation, then it should error.
    
    It also allowed me to put back `E0192` in that listing as well.
    
    r? `@Mark-Simulacrum`
    matthiaskrgr committed Feb 12, 2022
    Configuration menu
    Copy the full SHA
    144e801 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7d02faa View commit details
    Browse the repository at this point in the history