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 6 pull requests #99652

Merged
merged 12 commits into from
Jul 24, 2022
Merged

Rollup of 6 pull requests #99652

merged 12 commits into from
Jul 24, 2022

Commits on Jul 15, 2022

  1. stage 2 gated-plugins and multiple-plugins

    These test can fail on stage 1
    ChrisDenton committed Jul 15, 2022
    Configuration menu
    Copy the full SHA
    f822c3d View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2022

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

Commits on Jul 22, 2022

  1. Mark atomics as unsupported on thumbv6m

    The thumbv6m target does not support atomics. Historically, LLVM
    had a bug where atomic load/stores for this target were emitted
    as plain load/stores rather than as libatomic calls. This was
    fixed in https://reviews.llvm.org/D120026, which will be part of
    LLVM 15. As we require that "atomic support" does not use libatomic,
    we need to indicate that this target does not have native atomics.
    nikic committed Jul 22, 2022
    Configuration menu
    Copy the full SHA
    7514610 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    22b2aae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    90dc0b0 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2022

  1. Configuration menu
    Copy the full SHA
    7a9f307 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#99298 - ChrisDenton:ignore-plugins-stage1, …

    …r=Mark-Simulacrum
    
    Make `ui-fulldeps/gated-plugins` and `ui-fulldeps/multiple-plugins` tests stage 2 only
    
    These test can fail on stage 1.
    
    Fixes rust-lang#99295
    GuillaumeGomez authored Jul 23, 2022
    Configuration menu
    Copy the full SHA
    a9dc6a6 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#99396 - compiler-errors:missing-tests, r=Ma…

    …rk-Simulacrum
    
    Add some additional double-adjustment regression tests
    
    I accidentally missed these when I rebased rust-lang#98785
    
    cc rust-lang#98894 and rust-lang#98897
    GuillaumeGomez authored Jul 23, 2022
    Configuration menu
    Copy the full SHA
    93f58b6 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#99449 - compiler-errors:assoc-const-missing…

    …-item, r=lcnr
    
    Do not resolve associated const when there is no provided value
    
    Fixes rust-lang#98629, since now we just delay a bug when we're not able to evaluate a const item due to the value not actually being provided by anything. This means compilation proceeds forward to where the "missing item in impl" error is emitted.
    
    ----
    
    The root issue here is that when we're looking for the defining `LeafDef` in `resolve_associated_item`, we end up getting the trait's AssocItem instead of the impl's AssocItem (which does not exist). This resolution "succeeds" even if the trait's item has no default value, and then since this item has no value to evaluate, it turns into a const eval error.
    
    This root issue becomes problematic (as in rust-lang#98629) when this const eval error happens in wfcheck (for example, due to normalizing the param-env of something that references this const). Since this happens sooner than the check that an impl actually provides all of the items that a trait requires (which happens during later typecheck), we end up aborting compilation early with only this un-informative message.
    
    I'm not exactly sure _why_ this bug arises due to rust-lang#96591 -- perhaps valtrees are evaluated more eagerly than in the old system?
    
    r? ``@oli-obk`` or ``@lcnr`` since y'all are familiar with const eval and reviewed rust-lang#96591, though feel free to reassign.
    
    This is a regression from stable to beta, so I would be open to considering this for beta backport. It seems correct to me, especially given the improvements in the other UI tests this PR touches, but may have some side-effects that I'm unaware of...?
    GuillaumeGomez authored Jul 23, 2022
    Configuration menu
    Copy the full SHA
    3648dd5 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#99595 - nikic:thumbv6m-atomics, r=nagisa

    Mark atomics as unsupported on thumbv6m
    
    The thumbv6m target does not support atomics. Historically, LLVM
    had a bug where atomic load/stores for this target were emitted
    as plain load/stores rather than as libatomic calls. This was
    fixed in https://reviews.llvm.org/D120026, which will be part of
    LLVM 15. As we require that "atomic support" does not use libatomic,
    we need to indicate that this target does not have native atomics.
    GuillaumeGomez authored Jul 23, 2022
    Configuration menu
    Copy the full SHA
    90c6cde View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#99627 - saethlin:lock-once, r=eddyb

    Lock stdout once when listing tests
    
    This is a marginal optimization for normal operation, but for `cargo miri nextest list` (which is invoked by `cargo miri nextest run`) this knocks the startup time on `regex` down from 87 seconds to 17 seconds. Still slow, but a nice 5x improvement.
    GuillaumeGomez authored Jul 23, 2022
    Configuration menu
    Copy the full SHA
    74c3da3 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#99638 - GuillaumeGomez:rm-clean-trait, r=no…

    …triddle
    
    Remove Clean trait implementation for hir::Ty and middle::Ty
    
    While going through the code, I realized that the "remove the Clean trait" effort which was started a while ago was never finished.
    
    The idea behind it was to make it much simpler to go through the different clean steps (which is definitely not easy when you just have `something.clean(cx)`).
    
    I'm planning to finish this effort.
    
    cc ``@camelid``
    r? ``@notriddle``
    GuillaumeGomez authored Jul 23, 2022
    Configuration menu
    Copy the full SHA
    d87a13f View commit details
    Browse the repository at this point in the history