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

subtree-push nightly-2024-04-08 #6140

Closed
wants to merge 59 commits into from

Commits on Jan 1, 2024

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

Commits on Jan 2, 2024

  1. Rename unused_tuple_struct_fields in rustfmt

    Otherwise tests fail due to unknown lint and dead code warnings.
    shepmaster committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    4a1b418 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. Rename EmitterWriter as HumanEmitter.

    For consistency with other `Emitter` impls, such as `JsonEmitter`,
    `SilentEmitter`, `SharedEmitter`, etc.
    nnethercote committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    840824f View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

  1. Rollup merge of #119601 - nnethercote:Emitter-cleanups, r=oli-obk

    `Emitter` cleanups
    
    Some improvements I found while looking at this code.
    
    r? `@oli-obk`
    compiler-errors authored Jan 5, 2024
    Configuration menu
    Copy the full SHA
    250d7e7 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Make DiagnosticBuilder::emit consuming.

    This works for most of its call sites. This is nice, because `emit` very
    much makes sense as a consuming operation -- indeed,
    `DiagnosticBuilderState` exists to ensure no diagnostic is emitted
    twice, but it uses runtime checks.
    
    For the small number of call sites where a consuming emit doesn't work,
    the commit adds `DiagnosticBuilder::emit_without_consuming`. (This will
    be removed in subsequent commits.)
    
    Likewise, `emit_unless` becomes consuming. And `delay_as_bug` becomes
    consuming, while `delay_as_bug_without_consuming` is added (which will
    also be removed in subsequent commits.)
    
    All this requires significant changes to `DiagnosticBuilder`'s chaining
    methods. Currently `DiagnosticBuilder` method chaining uses a
    non-consuming `&mut self -> &mut Self` style, which allows chaining to
    be used when the chain ends in `emit()`, like so:
    ```
        struct_err(msg).span(span).emit();
    ```
    But it doesn't work when producing a `DiagnosticBuilder` value,
    requiring this:
    ```
        let mut err = self.struct_err(msg);
        err.span(span);
        err
    ```
    This style of chaining won't work with consuming `emit` though. For
    that, we need to use to a `self -> Self` style. That also would allow
    `DiagnosticBuilder` production to be chained, e.g.:
    ```
        self.struct_err(msg).span(span)
    ```
    However, removing the `&mut self -> &mut Self` style would require that
    individual modifications of a `DiagnosticBuilder` go from this:
    ```
        err.span(span);
    ```
    to this:
    ```
        err = err.span(span);
    ```
    There are *many* such places. I have a high tolerance for tedious
    refactorings, but even I gave up after a long time trying to convert
    them all.
    
    Instead, this commit has it both ways: the existing `&mut self -> Self`
    chaining methods are kept, and new `self -> Self` chaining methods are
    added, all of which have a `_mv` suffix (short for "move"). Changes to
    the existing `forward!` macro lets this happen with very little
    additional boilerplate code. I chose to add the suffix to the new
    chaining methods rather than the existing ones, because the number of
    changes required is much smaller that way.
    
    This doubled chainging is a bit clumsy, but I think it is worthwhile
    because it allows a *lot* of good things to subsequently happen. In this
    commit, there are many `mut` qualifiers removed in places where
    diagnostics are emitted without being modified. In subsequent commits:
    - chaining can be used more, making the code more concise;
    - more use of chaining also permits the removal of redundant diagnostic
      APIs like `struct_err_with_code`, which can be replaced easily with
      `struct_err` + `code_mv`;
    - `emit_without_diagnostic` can be removed, which simplifies a lot of
      machinery, removing the need for `DiagnosticBuilderState`.
    nnethercote committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    141b31a View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. Change how force-warn lint diagnostics are recorded.

    `is_force_warn` is only possible for diagnostics with `Level::Warning`,
    but it is currently stored in `Diagnostic::code`, which every diagnostic
    has.
    
    This commit:
    - removes the boolean `DiagnosticId::Lint::is_force_warn` field;
    - adds a `ForceWarning` variant to `Level`.
    
    Benefits:
    - The common `Level::Warning` case now has no arguments, replacing
      lots of `Warning(None)` occurrences.
    - `rustc_session::lint::Level` and `rustc_errors::Level` are more
      similar, both having `ForceWarning` and `Warning`.
    nnethercote committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    192c4a0 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. Stop using DiagnosticBuilder::buffer in the parser.

    One consequence is that errors returned by
    `maybe_new_parser_from_source_str` now must be consumed, so a bunch of
    places that previously ignored those errors now cancel them. (Most of
    them explicitly dropped the errors before. I guess that was to indicate
    "we are explicitly ignoring these", though I'm not 100% sure.)
    nnethercote committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    381ef81 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

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

Commits on Jan 17, 2024

  1. Add PatKind::Err

    ShE3py committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    255d2cf View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. Configuration menu
    Copy the full SHA
    b92320c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f8847ff View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a095808 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2024

  1. Make Emitter::emit_diagnostic consuming.

    All the other `emit`/`emit_diagnostic` methods were recently made
    consuming (e.g. #119606), but this one wasn't. But it makes sense to.
    
    Much of this is straightforward, and lots of `clone` calls are avoided.
    There are a couple of tricky bits.
    - `Emitter::primary_span_formatted` no longer takes a `Diagnostic` and
      returns a pair. Instead it takes the two fields from `Diagnostic` that
      it used (`span` and `suggestions`) as `&mut`, and modifies them. This
      is necessary to avoid the cloning of `diag.children` in two emitters.
    - `from_errors_diagnostic` is rearranged so various uses of `diag` occur
      before the consuming `emit_diagnostic` call.
    nnethercote committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    18f51f7 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2024

  1. Configuration menu
    Copy the full SHA
    88c5838 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    16250ea View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

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

Commits on Feb 14, 2024

  1. Rollup merge of #121035 - compiler-errors:rustfmt-asyncness, r=calebc…

    …artwright
    
    Format `async` trait bounds in rustfmt
    
    r? `@ytmimi` or `@calebcartwright`
    
    This PR opts to do formatting in the rust-lang/rust tree because otherwise we'd have to wait until a full sync, and rustfmt is currently totally removing the `async` keyword.
    
    cc rust-lang#6070
    GuillaumeGomez authored Feb 14, 2024
    Configuration menu
    Copy the full SHA
    e504c64 View commit details
    Browse the repository at this point in the history
  2. Add an ErrorGuaranteed to ast::TyKind::Err.

    This makes it more like `hir::TyKind::Err`, and avoids a
    `span_delayed_bug` call in `LoweringContext::lower_ty_direct`.
    
    It also requires adding `ast::TyKind::Dummy`, now that
    `ast::TyKind::Err` can't be used for that purpose in the absence of an
    error emission.
    
    There are a couple of cases that aren't as neat as I would have liked,
    marked with `FIXME` comments.
    nnethercote committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    6674be9 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2024

  1. errors: only eagerly translate subdiagnostics

    Subdiagnostics don't need to be lazily translated, they can always be
    eagerly translated. Eager translation is slightly more complex as we need
    to have a `DiagCtxt` available to perform the translation, which involves
    slightly more threading of that context.
    
    This slight increase in complexity should enable later simplifications -
    like passing `DiagCtxt` into `AddToDiagnostic` and moving Fluent messages
    into the diagnostic structs rather than having them in separate files
    (working on that was what led to this change).
    
    Signed-off-by: David Wood <david@davidtw.co>
    davidtwco committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    aba5f54 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2024

  1. Configuration menu
    Copy the full SHA
    2639101 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of #121085 - davidtwco:always-eager-diagnostics, r=nneth…

    …ercote
    
    errors: only eagerly translate subdiagnostics
    
    Subdiagnostics don't need to be lazily translated, they can always be eagerly translated. Eager translation is slightly more complex as we need to have a `DiagCtxt` available to perform the translation, which involves slightly more threading of that context.
    
    This slight increase in complexity should enable later simplifications - like passing `DiagCtxt` into `AddToDiagnostic` and moving Fluent messages into the diagnostic structs rather than having them in separate files (working on that was what led to this change).
    
    r? ```@nnethercote```
    matthiaskrgr authored Feb 17, 2024
    Configuration menu
    Copy the full SHA
    163c3eb View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2024

  1. Explicitly call emit_stashed_diagnostics.

    Commit 72b172b in #121206 changed things so that
    `emit_stashed_diagnostics` is only called from `run_compiler`. But
    rustfmt doesn't use `run_compiler`, so it needs to call
    `emit_stashed_diagnostics` itself to avoid an abort in
    `DiagCtxtInner::drop` when stashed diagnostics occur.
    
    Fixes #121450.
    nnethercote committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    ce71137 View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2024

  1. Auto merge of #120393 - Urgau:rfc3373-non-local-defs, r=WaffleLapkin

    Implement RFC 3373: Avoid non-local definitions in functions
    
    This PR implements [RFC 3373: Avoid non-local definitions in functions](rust-lang/rust#120363).
    bors committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    8c33745 View commit details
    Browse the repository at this point in the history
  2. Add ast::ExprKind::Dummy

    ShE3py committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    7d82dd0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1bbfb76 View commit details
    Browse the repository at this point in the history
  4. Move emit_stashed_diagnostic call in rustfmt.

    This call was added to `parse_crate_mod` in #121487, to fix a case where
    a stashed diagnostic wasn't emitted. But there is another path where a
    stashed diagnostic might fail to be emitted if there's a parse error, if
    the `build` call in `parse_crate_inner` fails before `parse_crate_mod`
    is reached.
    
    So this commit moves the `emit_stashed_diagnostic` call outwards, from
    `parse_crate_mod` to `format_project`, just after the
    `Parser::parse_crate` call. This should be far out enough to catch any
    parsing errors.
    
    Fixes #121517.
    nnethercote committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    90af751 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Auto merge of #120586 - ShE3py:exprkind-err, r=fmease

    Add `ErrorGuaranteed` to `ast::ExprKind::Err`
    
    See #119967 for context
    ```
          \
           \
              _~^~^~_
          \) /  o o  \ (/
            '_   -   _'
            / '-----' \
    ```
    
    r? fmease
    bors committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    50987bb View commit details
    Browse the repository at this point in the history
  2. Rollup merge of #121615 - nnethercote:fix-121517, r=oli-obk

    Move `emit_stashed_diagnostic` call in rustfmt.
    
    This call was added to `parse_crate_mod` in #121487, to fix a case where a stashed diagnostic wasn't emitted. But there is another path where a stashed diagnostic might fail to be emitted if there's a parse error, if the `build` call in `parse_crate_inner` fails before `parse_crate_mod` is reached.
    
    So this commit moves the `emit_stashed_diagnostic` call outwards, from `parse_crate_mod` to `format_project`, just after the `Parser::parse_crate` call. This should be far out enough to catch any parsing errors.
    
    Fixes #121517.
    
    r? `@oli-obk`
    cc `@ytmimi`
    matthiaskrgr authored Feb 26, 2024
    Configuration menu
    Copy the full SHA
    c18226d View commit details
    Browse the repository at this point in the history
  3. Auto merge of #121636 - matthiaskrgr:rollup-1tt2o5n, r=matthiaskrgr

    Rollup of 6 pull requests
    
    Successful merges:
    
     - #121389 (llvm-wrapper: fix few warnings)
     - #121493 (By changing some attributes to only_local, reducing encoding attributes in the crate metadate.)
     - #121615 (Move `emit_stashed_diagnostic` call in rustfmt.)
     - #121617 (Actually use the right closure kind when checking async Fn goals)
     - #121628 (Do not const prop unions)
     - #121629 (fix some references to no-longer-existing ReprOptions.layout_seed)
    
    r? `@ghost`
    `@rustbot` modify labels: rollup
    bors committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    f9dba39 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. Rename Diagnostic as DiagInner.

    I started by changing it to `DiagData`, but that didn't feel right.
    `DiagInner` felt much better.
    nnethercote committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    d84567c View commit details
    Browse the repository at this point in the history
  2. Rename DiagnosticBuilder as Diag.

    Much better!
    
    Note that this involves renaming (and updating the value of)
    `DIAGNOSTIC_BUILDER` in clippy.
    nnethercote committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    4026fd7 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Reinstate emit_stashed_diagnostics in DiagCtxtInner::drop.

    I removed it in #121206 because I thought thought it wasn't necessary.
    But then I had to add an `emit_stashed_diagnostics` call elsewhere in
    rustfmt to avoid the assertion failure (which took two attempts to get
    right, #121487 and #121615), and now there's an assertion failure in
    clippy as well (rust-lang/rust-clippy#12364).
    
    So this commit just reinstates the call in `DiagCtxtInner::drop`. It
    also reverts the rustfmt changes from #121487 and #121615, though it
    keeps the tests added for those PRs.
    nnethercote committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    45aad17 View commit details
    Browse the repository at this point in the history
  2. Rename DiagCtxt::with_emitter as DiagCtxt::new.

    Because it's now the only constructor.
    nnethercote committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    0811e8f View commit details
    Browse the repository at this point in the history
  3. Inline and remove HumanEmitter::stderr.

    Because `HumanEmitter::new` is enough, in conjunction with the (renamed)
    `stderr_destination` function.
    nnethercote committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    9c85ae8 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of #121783 - nnethercote:emitter-cleanups, r=oli-obk

    Emitter cleanups
    
    Some cleanups I made when reading emitter code. In particular, `HumanEmitter` and `JsonEmitter` have gone from three constructors to one.
    
    r? `@oli-obk`
    GuillaumeGomez authored Feb 29, 2024
    Configuration menu
    Copy the full SHA
    6f2722b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fc64cbd View commit details
    Browse the repository at this point in the history
  6. Rollup merge of #121326 - fmease:detect-empty-leading-where-clauses-o…

    …n-ty-aliases, r=compiler-errors
    
    Detect empty leading where clauses on type aliases
    
    1. commit: refactor the AST of type alias where clauses
       * I could no longer bear the look of `.0.1` and `.1.0`
       * Arguably moving `split` out of `TyAlias` into a substruct might not make that much sense from a semantic standpoint since it reprs an index into `TyAlias.predicates` but it's alright and it cleans up the usage sites of `TyAlias`
    2. commit: fix an oversight: An empty leading where clause is still a leading where clause
       * semantically reject empty leading where clauses on lazy type aliases
         * e.g., on `#![feature(lazy_type_alias)] type X where = ();`
       * make empty leading where clauses on assoc types trigger lint `deprecated_where_clause_location`
         * e.g., `impl Trait for () { type X where = (); }`
    matthiaskrgr authored Feb 29, 2024
    Configuration menu
    Copy the full SHA
    050610e View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2024

  1. Tweak parse_asm_args.

    It doesn't need a `Parser` and a `ParseSess`, because the former
    contains the latter.
    nnethercote committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    0b56261 View commit details
    Browse the repository at this point in the history
  2. Rename all ParseSess variables/fields/lifetimes as psess.

    Existing names for values of this type are `sess`, `parse_sess`,
    `parse_session`, and `ps`. `sess` is particularly annoying because
    that's also used for `Session` values, which are often co-located, and
    it can be difficult to know which type a value named `sess` refers to.
    (That annoyance is the main motivation for this change.) `psess` is nice
    and short, which is good for a name used this much.
    
    The commit also renames some `parse_sess_created` values as
    `psess_created`.
    nnethercote committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    78c99eb View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. Configuration menu
    Copy the full SHA
    fe9ceab View commit details
    Browse the repository at this point in the history
  2. errors: share SilentEmitter between rustc and rustfmt

    Signed-off-by: David Wood <david@davidtw.co>
    davidtwco committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    124808b View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2024

  1. Rewrite the untranslatable_diagnostic lint.

    Currently it only checks calls to functions marked with
    `#[rustc_lint_diagnostics]`. This commit changes it to check calls to
    any function with an `impl Into<{D,Subd}iagMessage>` parameter. This
    greatly improves its coverage and doesn't rely on people remembering to
    add `#[rustc_lint_diagnostics]`.
    
    The commit also adds `#[allow(rustc::untranslatable_diagnostic)`]
    attributes to places that need it that are caught by the improved lint.
    These places that might be easy to convert to translatable diagnostics.
    
    Finally, it also:
    - Expands and corrects some comments.
    - Does some minor formatting improvements.
    - Adds missing `DecorateLint` cases to
      `tests/ui-fulldeps/internal-lints/diagnostics.rs`.
    nnethercote committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    677c1d8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f3892a0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1709dd5 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of #121382 - nnethercote:rework-untranslatable_diagnosti…

    …c-lint, r=davidtwco
    
    Rework `untranslatable_diagnostic` lint
    
    Currently it only checks calls to functions marked with `#[rustc_lint_diagnostics]`. This PR changes it to check calls to any function with an `impl Into<{D,Subd}iagnosticMessage>` parameter. This greatly improves its coverage and doesn't rely on people remembering to add `#[rustc_lint_diagnostics]`. It also lets us add `#[rustc_lint_diagnostics]` to a number of functions that don't have an `impl Into<{D,Subd}iagnosticMessage>`, such as `Diag::span`.
    
    r? ``@davidtwco``
    matthiaskrgr authored Mar 6, 2024
    Configuration menu
    Copy the full SHA
    5f8d353 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

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

Commits on Mar 19, 2024

  1. conditionally ignore fatal diagnostic in the SilentEmitter

    This change is primarily meant to allow rustfmt to ignore all
    diagnostics when using the `SilentEmitter`. Back in PR 121301 the
    `SilentEmitter` was shared between rustc and rustfmt. This changed
    rustfmt's behavior from ignoring all diagnostic to emitting fatal
    diagnostics.
    
    These changes allow rustfmt to maintain it's previous behaviour when
    using the SilentEmitter, while allowing rustc code to still emit fatal
    diagnostics.
    ytmimi committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    911f6a4 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. step cfgs

    Mark-Simulacrum committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    8f62a2d View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2024

  1. Implement macro-based deref!() syntax for deref patterns

    Stop using `box PAT` syntax for deref patterns, as it's misleading and
    also causes their semantics being tangled up.
    compiler-errors committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    f670f3b View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. Rollup merge of #121619 - RossSmyth:pfix_match, r=petrochenkov

    Experimental feature postfix match
    
    This has a basic experimental implementation for the RFC postfix match (rust-lang/rfcs#3295, #121618). [Liaison is](https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Postfix.20Match.20Liaison/near/423301844) ```@scottmcm``` with the lang team's [experimental feature gate process](https://github.com/rust-lang/lang-team/blob/master/src/how_to/experiment.md).
    
    This feature has had an RFC for a while, and there has been discussion on it for a while. It would probably be valuable to see it out in the field rather than continue discussing it. This feature also allows to see how popular postfix expressions like this are for the postfix macros RFC, as those will take more time to implement.
    
    It is entirely implemented in the parser, so it should be relatively easy to remove if needed.
    
    This PR is split in to 5 commits to ease review.
    
    1. The implementation of the feature & gating.
    2. Add a MatchKind field, fix uses, fix pretty.
    3. Basic rustfmt impl, as rustfmt crashes upon seeing this syntax without a fix.
    4. Add new MatchSource to HIR for Clippy & other HIR consumers
    matthiaskrgr authored Mar 22, 2024
    Configuration menu
    Copy the full SHA
    0aa66d1 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2024

  1. Rollup merge of #122737 - ytmimi:conditionally_ignore_fatal_diagnosti…

    …c, r=davidtwco
    
    conditionally ignore fatal diagnostic in the SilentEmitter
    
    This change is primarily meant to allow rustfmt to ignore all diagnostics when using the `SilentEmitter`. Back in #121301 the `SilentEmitter` was shared between rustc and rustfmt. This changed rustfmt's behavior from ignoring all diagnostic to emitting fatal diagnostics, which lead to rust-lang#6109.
    
    These changes allow rustfmt to maintain its previous behaviour when using the `SilentEmitter`, while allowing rustc code to still emit fatal diagnostics.
    matthiaskrgr authored Mar 24, 2024
    Configuration menu
    Copy the full SHA
    5e141e0 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Configuration menu
    Copy the full SHA
    645b94c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    31a4eae View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2024

  1. Configuration menu
    Copy the full SHA
    1ed0da9 View commit details
    Browse the repository at this point in the history
  2. fix dead code and redundant import warnings

    We need to allow `StyleEditionDefault` because it will be used to
    implement `style_edition`, and we didn't need to explicitly import it
    for tests since it's already imported by `use super::*;`.
    ytmimi committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    6e4105f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9ede626 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2024

  1. Bumped bytecount 0.6.4 -> 0.6.8

    fixes compilation issues with the `generic-simd` feature
    ytmimi committed Apr 20, 2024
    Configuration menu
    Copy the full SHA
    732855d View commit details
    Browse the repository at this point in the history
  2. remove archived error-chain crate from integration tests

    Can't run `cargo test --all` for `error-chain` anymore. The tests don't
    compile because of `#[deny(invalid_doc_attributes)]`. Here's  the error
    message:
    
    ```
    error: this attribute can only be applied at the crate level
       --> tests/tests.rs:508:7
        |
    508 | #[doc(test)]
        |       ^^^^
        |
        = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
        = note: `#[deny(invalid_doc_attributes)]` on by default
    help: to apply to the crate, use an inner attribute
        |
    508 | #![doc(test)]
        |  +
    ```
    ytmimi committed Apr 20, 2024
    Configuration menu
    Copy the full SHA
    919fb28 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. don't apply formatting to builtin type ascription syntax

    The syntax changed from `expr: ty` -> `builtin # type_ascribe(expr, ty)`
    For now, rustfmt will just emit the contents of the span.
    ytmimi committed May 6, 2024
    Configuration menu
    Copy the full SHA
    35ad744 View commit details
    Browse the repository at this point in the history