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 9 pull requests #118655

Merged
merged 33 commits into from
Dec 6, 2023
Merged

Commits on Nov 10, 2023

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

Commits on Nov 21, 2023

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

Commits on Nov 22, 2023

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

Commits on Nov 27, 2023

  1. Simplify Default for tuples

    DaniPopes committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    9ae3213 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

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

Commits on Dec 4, 2023

  1. Give Handler::fatal and Session::fatal the same return type.

    Currently, `Handler::fatal` returns `FatalError`. But `Session::fatal`
    returns `!`, because it calls `Handler::fatal` and then calls `raise` on
    the result. This inconsistency is unfortunate.
    
    This commit changes `Handler::fatal` to do the `raise` itself, changing
    its return type to `!`. This is safe because there are only two calls to
    `Handler::fatal`, one in `rustc_session` and one in
    `rustc_codegen_cranelift`, and they both call `raise` on the result.
    
    `HandlerInner::fatal` still returns `FatalError`, so I renamed it
    `fatal_no_raise` to emphasise the return type difference.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    114380d View commit details
    Browse the repository at this point in the history
  2. Inline and remove DiagnosticBuilder::new_diagnostic_* functions.

    They each have a single call site.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    d4933aa View commit details
    Browse the repository at this point in the history
  3. Inline and remove more DiagnosticBuilder::new_diagnostic_* functions.

    They each have a single call site.
    
    Note: the `make_diagnostic_builder` calls in `lib.rs` will be replaced
    in a subsequent commit.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    ab640ca View commit details
    Browse the repository at this point in the history
  4. Rename some arguments.

    `sess` is a terribly misleading name for a `Handler`! This confused me
    for a bit.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    6a95dee View commit details
    Browse the repository at this point in the history
  5. Always use G for EmissionGuarantee type variables.

    That's what is mostly used. This commit changes a few `EM` and `E` and
    `T` type variables to `G`.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    ed95f39 View commit details
    Browse the repository at this point in the history
  6. Avoid Diagnostic::new_with_code(..., None, ...).

    `Diagnostic::new` can be used instead.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    32dc78e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d51b3db View commit details
    Browse the repository at this point in the history
  8. De-genericize some IntoDiagnostic impls.

    These impls are all needed for just a single `IntoDiagnostic` type, not
    a family of them.
    
    Note that `ErrorGuaranteed` is the default type parameter for
    `IntoDiagnostic`.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    b7e18ca View commit details
    Browse the repository at this point in the history
  9. Use DiagnosticBuilder::new more.

    By making it generic, instead of only for `EmissionGuarantee = ()`, we
    can use it everywhere.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    8c20ad6 View commit details
    Browse the repository at this point in the history
  10. Move some HandlerInner functions to Handler.

    `Handler` is a wrapper around `HanderInner`. Some functions on
    on `Handler` just forward to the samed-named functions on
    `HandlerInner`.
    
    This commit removes as many of those as possible, implementing functions
    on `Handler` where possible, to avoid the boilerplate required for
    forwarding. The commit is moderately large but it's very mechanical.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    a8ff867 View commit details
    Browse the repository at this point in the history
  11. Remove HandlerInner::emit.

    This is weird: `HandlerInner::emit` calls
    `HandlerInner::emit_diagnostic`, but only after doing a
    `treat-err-as-bug` check. Which is fine, *except* that there are
    multiple others paths for an `Error` or `Fatal` diagnostic to be passed
    to `HandlerInner::emit_diagnostic` without going through
    `HandlerInner::emit`, e.g. `Handler::span_err` call
    `Handler::emit_diag_at_span`, which calls `emit_diagnostic`.
    So that suggests that the coverage for `treat-err-as-bug` is incomplete.
    
    This commit removes `HandlerInner::emit` and moves the
    `treat-err-as-bug` check to `HandlerInner::emit_diagnostic`, so it
    cannot by bypassed.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    883bdb7 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3ab05ca View commit details
    Browse the repository at this point in the history
  13. Inline and remove fatal_no_raise.

    This makes `Handler::fatal` more like `Handler::{err,warn,bug,note}`.
    nnethercote committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    7811c97 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d627e2a View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2023

  1. bootstrap(builder.rs): Don't explicitly warn against `semicolon_in_ex…

    …pressions_from_macros`
    
    This already wasn't passed in bootstrap.py and the lint itself already warns-by-default for 2 years now and has already been added to the future-incompat group in Rust 1.68.
    
    See rust-lang#79813 for the tracking issue.
    Xanewok committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    a0ba895 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    334577f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3448284 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b97ff8e View commit details
    Browse the repository at this point in the history
  5. Add more

    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    f6c30b3 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#117793 - wdunicornpro:patch-1, r=workingjub…

    …ilee
    
    Update variable name to fix `unused_variables` warning
    
    This PR fixes an `unused_variables` warning within `os.rs` when targeting `espidf`.
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    2d2a76d View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#118123 - RalfJung:internal-lib-features, r=…

    …compiler-errors
    
    Add support for making lib features internal
    
    We have the notion of an "internal" lang feature: a feature that is never intended to be stabilized, and using which can cause ICEs and other issues without that being considered a bug.
    
    This extends that idea to lib features as well. It is an alternative to rust-lang#115623: instead of using an attribute to declare lib features internal, we simply do this based on the name. Everything ending in `_internals` or `_internal` is considered internal.
    
    Then we rename `core_intrinsics` to `core_intrinsics_internal`, which fixes rust-lang#115597.
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    19bf749 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#118268 - compiler-errors:pretty-print, r=es…

    …tebank
    
    Pretty print `Fn<(..., ...)>` trait refs with parentheses (almost) always
    
    It's almost always better, at least in diagnostics, to print `Fn(i32, u32)` instead of `Fn<(i32, u32)>`.
    
    Related to but doesn't fix rust-lang#118225. That needs a separate fix.
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    ad23f30 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#118346 - compiler-errors:deeply-normalize-f…

    …or-diagnostic, r=lcnr
    
    Add `deeply_normalize_for_diagnostics`, use it in coherence
    
    r? lcnr
    
    Normalize trait refs used for coherence error reporting with `-Ztrait-solver=next-coherence`.
    
    Two things:
    1. I said before that we can't add this to `TyErrCtxt` because we compute `OverlapResult`s even if there are no diagnostics being emitted, e.g. for a reservation impl.
    2. I didn't want to add this to an `InferCtxtExt` trait because I felt it was unnecessary. I don't particularly care about the API though.
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    598ca0e View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#118350 - DaniPopes:tuple-default, r=working…

    …jubilee
    
    Simplify Default for tuples
    
    Doesn't need a separate block for each element
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    aa5f251 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#118450 - marcin-serwin:master, r=workingjub…

    …ilee
    
    Use OnceCell in cell module documentation
    
    The spanning tree example in the std cell module implementation was created before `OnceCell` was added to Rust so it uses `RefCell`. However, in this case using `OnceCell` seems more appropriate and produces simpler code. As a bonus, this also means that all three cell types are presented in the examples of std cell module.
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    6fa93e8 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#118585 - sjwang05:issue-118564, r=compiler-…

    …errors
    
    Fix parser ICE when recovering `dyn`/`impl` after `for<...>`
    
    Fixes rust-lang#118564
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    dbcde57 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#118587 - nnethercote:cleanup-error-handlers…

    …-2, r=compiler-errors
    
    Cleanup error handlers some more
    
    A sequel to rust-lang#118470.
    
    r? ```@compiler-errors```
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    e813370 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#118642 - Xanewok:patch-1, r=clubby789

    bootstrap(builder.rs): Don't explicitly warn against `semicolon_in_expressions_from_macros`
    
    This already wasn't passed in bootstrap.py and the lint itself already warns-by-default for 2 years now and has already been added to the future-incompat group in Rust 1.68.
    
    See rust-lang#79813 for the tracking issue.
    compiler-errors committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    0a8c0f7 View commit details
    Browse the repository at this point in the history