Skip to content

Rollup of 7 pull requests#153404

Closed
JonathanBrouwer wants to merge 79 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-gR0IcHF
Closed

Rollup of 7 pull requests#153404
JonathanBrouwer wants to merge 79 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-gR0IcHF

Conversation

@JonathanBrouwer
Copy link
Contributor

Successful merges:

r? @ghost

Create a similar rollup

The Miri Cronjob Bot and others added 30 commits February 17, 2026 05:19
This updates the rust-version file to 3c9faa0.
This updates the rust-version file to 8387095.
This updates the rust-version file to e0cb264.
…_files

Print a warning when trying to open a file in `/proc`
Miscellaneous tracing fixes and improvements
Remove duplicate "the" in documentation.
This updates the rust-version file to 5fb2ff8.
Fix typo in tracing.md for `tracing_separate_thread`
This updates the rust-version file to c78a294.
This updates the rust-version file to b3869b9.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: b3869b9
Filtered ref: 8ca8d84b29d11100879eadb68eb5774f85bb6977
Upstream diff: rust-lang/rust@c78a294...b3869b9

This merge was created using https://github.com/rust-lang/josh-sync.
…rrors, r=oli-obk

Abort after `representability` errors

Doing so results in better error messages and makes the code a bit simpler. Details in individual commits.

r? @oli-obk
…tack-true, r=WaffleLapkin

enable `PassMode::Indirect { on_stack: true, .. }` tail call arguments

tracking issue: rust-lang#112788
fixes rust-lang#144855

And add a bunch of tests for tail call target support.

r? WaffleLapkin
Remove `cycle_fatal` query modifier

This removes the `cycle_fatal` query modifier as it has no effect on its current users.

The default `CycleErrorHandling::Error` mode does the same as `cycle_fatal` when the default impl of `FromCycleError` is used. The return types of queries using `cycle_fatal` however have no specialized `FromCycleError` impl.
…athanBrouwer

Migrationg of `LintDiagnostic` - part 7

Part of rust-lang#153099.

This PR removes the `LintDiagnostic` trait and proc-macro. \o/

r? @JonathanBrouwer
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Mar 4, 2026
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustc-dev-guide Area: rustc-dev-guide A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic F-explicit_tail_calls `#![feature(explicit_tail_calls)]` PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. labels Mar 4, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 4, 2026

📌 Commit 1ea11f2 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 4, 2026
@JonathanBrouwer
Copy link
Contributor Author

Trying commonly failed jobs
@bors try jobs=test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 4, 2026

⌛ Trying commit 1ea11f2 with merge d112941

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/22671873455

rust-bors bot pushed a commit that referenced this pull request Mar 4, 2026
Rollup of 7 pull requests


try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
@JonathanBrouwer
Copy link
Contributor Author

@bors try cancel

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 4, 2026

Try build cancelled. Cancelled workflows:

@rust-bors rust-bors bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 4, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 4, 2026

PR #153401, which is a member of this rollup, was unapproved.
This rollup was thus also unapproved.

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
/dev/sda15       98M  6.4M   92M   7% /boot/efi
tmpfs           1.6G   16K  1.6G   1% /run/user/1001
================================================================================

Sufficient disk space available (120307056KB >= 52428800KB). Skipping cleanup.
##[group]Run echo "[CI_PR_NUMBER=$num]"
echo "[CI_PR_NUMBER=$num]"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
set -ex

# Run a subset of tests. Used to run tests in parallel in multiple jobs.

# When this job partition is run as part of PR CI, skip tidy to allow revealing more failures. The
# dedicated `tidy` job failing won't block other PR CI jobs from completing, and so tidy failures
# shouldn't inhibit revealing other failures in PR CI jobs.
if [ "$PR_CI_JOB" == "1" ]; then
  echo "PR_CI_JOB set; skipping tidy"
  SKIP_TIDY="--skip tidy"
fi

../x.py --stage 2 test \
  ${SKIP_TIDY:+$SKIP_TIDY} \
  --skip compiler \
  --skip src
#!/bin/bash

set -ex

# Run a subset of tests. Used to run tests in parallel in multiple jobs.

# When this job partition is run as part of PR CI, skip tidy to allow revealing more failures. The
# dedicated `tidy` job failing won't block other PR CI jobs from completing, and so tidy failures
# shouldn't inhibit revealing other failures in PR CI jobs.
if [ "$PR_CI_JOB" == "1" ]; then
  echo "PR_CI_JOB set; skipping tidy"
  SKIP_TIDY="--skip tidy"
fi

../x.py --stage 2 test \
  ${SKIP_TIDY:+$SKIP_TIDY} \
  --skip tests \
  --skip coverage-map \
  --skip coverage-run \
  --skip library \
  --skip tidyselftest
---
Executing "/scripts/stage_2_test_set1.sh"
+ /scripts/stage_2_test_set1.sh
PR_CI_JOB set; skipping tidy
+ '[' 1 == 1 ']'
+ echo 'PR_CI_JOB set; skipping tidy'
+ SKIP_TIDY='--skip tidy'
+ ../x.py --stage 2 test --skip tidy --skip compiler --skip src
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.04s
##[endgroup]
downloading https://static.rust-lang.org/dist/2026-01-21/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.xz
---
test [ui] tests/ui/abi/abi-sysv64-register-usage.rs ... ignored, ignored when the architecture is aarch64
test [ui] tests/ui/abi/abi-typo-unstable.rs#feature_disabled ... ok
test [ui] tests/ui/abi/abi-typo-unstable.rs#feature_enabled ... ok
test [ui] tests/ui/abi/anon-extern-mod.rs ... ok
test [ui] tests/ui/abi/avr-sram.rs#disable_sram ... ok
test [ui] tests/ui/abi/arm-unadjusted-intrinsic.rs#aarch64 ... ok
test [ui] tests/ui/abi/avr-sram.rs#has_sram ... ok
test [ui] tests/ui/abi/avr-sram.rs#no_sram ... ok
test [ui] tests/ui/abi/arm-unadjusted-intrinsic.rs#arm ... ok
test [ui] tests/ui/abi/bad-custom.rs ... ok
test [ui] tests/ui/abi/c-stack-as-value.rs ... ok
test [ui] tests/ui/abi/c-zst.rs#aarch64-darwin ... ok
test [ui] tests/ui/abi/c-zst.rs#powerpc-linux ... ok
---
test [ui] tests/ui/asm/aarch64/ttbr0_el2.rs ... ok
test [ui] tests/ui/asm/aarch64/type-check-2.rs ... ok
test [ui] tests/ui/asm/aarch64/type-check-3.rs ... ok
test [ui] tests/ui/asm/aarch64/type-f16.rs ... ok
test [ui] tests/ui/asm/aarch64v8r.rs#r82 ... ok
test [ui] tests/ui/asm/aarch64v8r.rs#hf ... ok
test [ui] tests/ui/asm/aarch64/sym.rs ... ok
test [ui] tests/ui/asm/aarch64v8r.rs#sf ... ok
test [ui] tests/ui/asm/asm-with-nested-closure.rs ... ok
test [ui] tests/ui/asm/binary_asm_labels.rs ... ignored, only executed when the architecture is x86_64
test [ui] tests/ui/asm/arm-low-dreg.rs ... ok
test [ui] tests/ui/asm/cfg-parse-error.rs ... ok
test [ui] tests/ui/asm/cfg.rs#reva ... ignored, only executed when the architecture is x86_64
---
test [ui] tests/ui/const-generics/occurs-check/unused-substs-3.rs ... ok
test [ui] tests/ui/const-generics/ogca/basic-fail.rs ... ok
test [ui] tests/ui/const-generics/occurs-check/unused-substs-4.rs ... ok
test [ui] tests/ui/const-generics/occurs-check/unused-substs-5.rs ... ok
test [ui] tests/ui/const-generics/ogca/basic.rs ... ok
test [ui] tests/ui/const-generics/ogca/rhs-but-not-root.rs ... ok
test [ui] tests/ui/const-generics/ogca/generic-param-rhs.rs ... ok
test [ui] tests/ui/const-generics/ogca/coherence-ambiguous.rs ... ok
test [ui] tests/ui/const-generics/outer-lifetime-in-const-generic-default.rs ... ok
test [ui] tests/ui/const-generics/opaque_types.rs ... ok
test [ui] tests/ui/const-generics/overlapping_impls.rs ... ok
test [ui] tests/ui/const-generics/opaque_types2.rs ... ok
test [ui] tests/ui/const-generics/params-in-ct-in-ty-param-lazy-norm.rs#full ... ok
---
test [ui] tests/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#fat2 ... ok
test [ui] tests/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#fat3 ... ok
test [ui] tests/ui/extern/issue-80074.rs ... ok
test [ui] tests/ui/extern/issue-95829.rs ... ok
test [ui] tests/ui/extern/lgamma-linkage.rs ... ok
test [ui] tests/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#thin1 ... ok
test [ui] tests/ui/extern/no-mangle-associated-fn.rs ... ok
test [ui] tests/ui/extern/not-in-block.rs ... ok
test [ui] tests/ui/extern/unsized-extern-derefmove.rs ... ok
test [ui] tests/ui/feature-gates/allow-features-empty.rs ... ok
---
test [ui] tests/ui/feature-gates/feature-gate-macro-derive.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-macro-metavar-expr-concat.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-marker_trait_attr.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-may-dangle.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-mgca-type-const-syntax.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-min-generic-const-args.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-movrs_target_feature.rs ... ignored, only executed when the architecture is x86_64
test [ui] tests/ui/feature-gates/feature-gate-more-maybe-bounds.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-min_const_fn.rs ... ok
test [ui] tests/ui/feature-gates/feature-gate-naked_functions_rustic_abi.rs ... ignored, only executed when the architecture is x86_64
---
test [ui] tests/ui/imports/ambiguous-7.rs ... ok
test [ui] tests/ui/imports/ambiguous-import-visibility-module.rs ... ok
test [ui] tests/ui/imports/ambiguous-8.rs ... ok
test [ui] tests/ui/imports/ambiguous-glob-vs-expanded-extern.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-globvsglob.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-glob-vs-multiouter.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-no-implicit-prelude.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-non-prelude-core-glob.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-non-prelude-std-glob.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-pick-core.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-pick-std.rs ... ok
---
test [ui] tests/ui/layout/post-mono-layout-cycle.rs ... ok
test [ui] tests/ui/layout/randomize.rs#normal ... ok
test [ui] tests/ui/layout/randomize.rs#randomize-layout ... ok
test [ui] tests/ui/layout/null-pointer-optimization.rs ... ok
test [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs ... ok
test [ui] tests/ui/layout/size-of-val-raw-too-big.rs ... ignored, only executed when the pointer width is 32bit (Layout computation rejects this layout for different reasons on 64-bit.)
test [ui] tests/ui/layout/reprc-power-alignment.rs ... ok
test [ui] tests/ui/layout/struct.rs ... ok
test [ui] tests/ui/layout/rigid-alias-no-params.rs ... ok
test [ui] tests/ui/layout/thaw-transmute-invalid-enum.rs ... ok
---
---- [ui] tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/session-diagnostic/diagnostic-derive-inline/diagnostic-derive-inline.stderr`
diff of stderr:

300 LL |     #[label("with a label", foo("..."))]
301    |                             ^^^
302 
- error: derive(Diagnostic): `#[primary_span]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:505:5
-    |
- LL |     #[primary_span]
-    |     ^
-    |
-    = help: the `primary_span` field attribute is not valid for lint diagnostics
- 
311 error: derive(Diagnostic): `#[error(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:525:1
+   --> $DIR/diagnostic-derive-inline.rs:513:1
313    |
314 LL | #[error("this is an example message", code = E0123)]
315    | ^
---
319    |
320 LL | #[error("this is an example message", code = E0123)]
321    | ^

323    = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`
324 
325 error: derive(Diagnostic): `#[warn_(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:532:1
+   --> $DIR/diagnostic-derive-inline.rs:520:1
327    |
328 LL | #[warn_("this is an example message", code = E0123)]
329    | ^

330 
331 error: derive(Diagnostic): diagnostic message not specified
-   --> $DIR/diagnostic-derive-inline.rs:532:1
+   --> $DIR/diagnostic-derive-inline.rs:520:1
333    |
334 LL | #[warn_("this is an example message", code = E0123)]
335    | ^

337    = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`
338 
339 error: derive(Diagnostic): `#[lint(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:539:1
+   --> $DIR/diagnostic-derive-inline.rs:527:1
341    |
342 LL | #[lint("this is an example message", code = E0123)]
343    | ^
---
348 LL | #[lint("this is an example message", code = E0123)]
349    | ^

350    |
351    = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`
352 
- error: derive(Diagnostic): `#[lint(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:546:1
-    |
- LL | #[lint("this is an example message", code = E0123)]
-    | ^
- 
- error: derive(Diagnostic): diagnostic message not specified
-   --> $DIR/diagnostic-derive-inline.rs:546:1
-    |
- LL | #[lint("this is an example message", code = E0123)]
-    | ^
-    |
-    = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`
- 
367 error: derive(Diagnostic): attribute specified multiple times
-   --> $DIR/diagnostic-derive-inline.rs:555:53
+   --> $DIR/diagnostic-derive-inline.rs:536:53
369    |
370 LL |     #[suggestion("with a suggestion", code = "...", code = ",,,")]
371    |                                                     ^^^^

372    |
373 note: previously specified here
-   --> $DIR/diagnostic-derive-inline.rs:555:39
+   --> $DIR/diagnostic-derive-inline.rs:536:39
375    |
376 LL |     #[suggestion("with a suggestion", code = "...", code = ",,,")]
377    |                                       ^^^^

378 
379 error: derive(Diagnostic): wrong types for suggestion
-   --> $DIR/diagnostic-derive-inline.rs:564:24
+   --> $DIR/diagnostic-derive-inline.rs:545:24
381    |
382 LL |     suggestion: (Span, usize),
383    |                        ^^^^^

385    = help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
386 
387 error: derive(Diagnostic): wrong types for suggestion
-   --> $DIR/diagnostic-derive-inline.rs:572:17
+   --> $DIR/diagnostic-derive-inline.rs:553:17
389    |
390 LL |     suggestion: (Span,),
391    |                 ^^^^^^^

393    = help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
394 
395 error: derive(Diagnostic): suggestion without `code = "..."`
-   --> $DIR/diagnostic-derive-inline.rs:579:5
+   --> $DIR/diagnostic-derive-inline.rs:560:5
397    |
398 LL |     #[suggestion("with a suggestion")]
399    |     ^

400 
401 error: derive(Diagnostic): `#[multipart_suggestion(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:586:1
+   --> $DIR/diagnostic-derive-inline.rs:567:1
403    |
404 LL | #[multipart_suggestion("with a suggestion")]
405    | ^

407    = help: consider creating a `Subdiagnostic` instead
408 
409 error: derive(Diagnostic): `#[multipart_suggestion(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:589:1
+   --> $DIR/diagnostic-derive-inline.rs:570:1
411    |
412 LL | #[multipart_suggestion()]
413    | ^

415    = help: consider creating a `Subdiagnostic` instead
416 
417 error: derive(Diagnostic): `#[multipart_suggestion(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:593:5
+   --> $DIR/diagnostic-derive-inline.rs:574:5
419    |
420 LL |     #[multipart_suggestion("with a suggestion")]
421    |     ^

423    = help: consider creating a `Subdiagnostic` instead
424 
425 error: derive(Diagnostic): `#[suggestion(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:601:1
+   --> $DIR/diagnostic-derive-inline.rs:582:1
427    |
428 LL | #[suggestion("with a suggestion", code = "...")]
429    | ^

431    = help: `#[label]` and `#[suggestion]` can only be applied to fields
432 
433 error: derive(Diagnostic): `#[label]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:610:1
+   --> $DIR/diagnostic-derive-inline.rs:591:1
435    |
436 LL | #[label]
437    | ^

439    = help: subdiagnostic message is missing
440 
441 error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:644:5
+   --> $DIR/diagnostic-derive-inline.rs:625:5
443    |
444 LL |     #[subdiagnostic(bad)]
445    |     ^

446 
447 error: derive(Diagnostic): `#[subdiagnostic = ...]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:652:5
+   --> $DIR/diagnostic-derive-inline.rs:633:5
449    |
450 LL |     #[subdiagnostic = "bad"]
451    |     ^

452 
453 error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:660:5
+   --> $DIR/diagnostic-derive-inline.rs:641:5
455    |
456 LL |     #[subdiagnostic(bad, bad)]
457    |     ^

458 
459 error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:668:5
+   --> $DIR/diagnostic-derive-inline.rs:649:5
461    |
462 LL |     #[subdiagnostic("bad")]
463    |     ^

464 
465 error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:676:5
+   --> $DIR/diagnostic-derive-inline.rs:657:5
467    |
468 LL |     #[subdiagnostic(eager)]
469    |     ^

470 
471 error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:684:5
+   --> $DIR/diagnostic-derive-inline.rs:678:5
473    |
474 LL |     #[subdiagnostic(eager)]
475    |     ^

476 
- error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:705:5
-    |
- LL |     #[subdiagnostic(eager)]
-    |     ^
- 
483 error: derive(Diagnostic): expected at least one string literal for `code(...)`
-   --> $DIR/diagnostic-derive-inline.rs:736:44
+   --> $DIR/diagnostic-derive-inline.rs:709:44
485    |
486 LL |     #[suggestion("with a suggestion", code())]
487    |                                            ^

488 
489 error: derive(Diagnostic): `code(...)` must contain only string literals
-   --> $DIR/diagnostic-derive-inline.rs:744:44
+   --> $DIR/diagnostic-derive-inline.rs:717:44
491    |
492 LL |     #[suggestion("with a suggestion", code(foo))]
493    |                                            ^^^

494 
495 error: unexpected token, expected `)`
-   --> $DIR/diagnostic-derive-inline.rs:744:44
+   --> $DIR/diagnostic-derive-inline.rs:717:44
497    |
498 LL |     #[suggestion("with a suggestion", code(foo))]
499    |                                            ^^^

500 
501 error: expected string literal
-   --> $DIR/diagnostic-derive-inline.rs:753:46
+   --> $DIR/diagnostic-derive-inline.rs:726:46
503    |
504 LL |     #[suggestion("with a suggestion", code = 3)]
505    |                                              ^

506 
507 error: derive(Diagnostic): `#[suggestion(...)]` is not a valid attribute
-   --> $DIR/diagnostic-derive-inline.rs:768:5
+   --> $DIR/diagnostic-derive-inline.rs:741:5
509    |
510 LL |     #[suggestion("with a suggestion", code = "")]
511    |     ^

515    = help: to show a variable set of suggestions, use a `Vec` of `Subdiagnostic`s annotated with `#[suggestion(...)]`
516 
517 error: derive(Diagnostic): Variable `nosub` not found in diagnostic 
-   --> $DIR/diagnostic-derive-inline.rs:780:8
+   --> $DIR/diagnostic-derive-inline.rs:753:8
519    |
520 LL | #[diag("does not exist: {$nosub}")]
521    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^

535    |       ^^^^^^^^
536 
537 error: cannot find attribute `error` in this scope
---
549 error: cannot find attribute `warn_` in this scope
-   --> $DIR/diagnostic-derive-inline.rs:532:3
+   --> $DIR/diagnostic-derive-inline.rs:520:3
551    |
552 LL | #[warn_("this is an example message", code = E0123)]
553    |   ^^^^^

559    |
560 
561 error: cannot find attribute `lint` in this scope
-   --> $DIR/diagnostic-derive-inline.rs:539:3
+   --> $DIR/diagnostic-derive-inline.rs:527:3
563    |
564 LL | #[lint("this is an example message", code = E0123)]
565    |   ^^^^

570 LL + #[link("this is an example message", code = E0123)]
571    |
572 
- error: cannot find attribute `lint` in this scope
-   --> $DIR/diagnostic-derive-inline.rs:546:3
-    |
- LL | #[lint("this is an example message", code = E0123)]
-    |   ^^^^
-    |
- help: a built-in attribute with a similar name exists
-    |
- LL - #[lint("this is an example message", code = E0123)]
- LL + #[link("this is an example message", code = E0123)]
-    |
- 
585 error: cannot find attribute `multipart_suggestion` in this scope
-   --> $DIR/diagnostic-derive-inline.rs:586:3
+   --> $DIR/diagnostic-derive-inline.rs:567:3
587    |
588 LL | #[multipart_suggestion("with a suggestion")]
589    |   ^^^^^^^^^^^^^^^^^^^^

595    |
596 
597 error: cannot find attribute `multipart_suggestion` in this scope
---
609 error: cannot find attribute `multipart_suggestion` in this scope
-   --> $DIR/diagnostic-derive-inline.rs:593:7
+   --> $DIR/diagnostic-derive-inline.rs:574:7
611    |
612 LL |     #[multipart_suggestion("with a suggestion")]
613    |       ^^^^^^^^^^^^^^^^^^^^

636    = note: in this macro invocation
637    = note: this error originates in the macro `with_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
638 
---
To only update this specific test, also pass `--test-args session-diagnostic/diagnostic-derive-inline.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/session-diagnostic/diagnostic-derive-inline" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0"
stdout: none
--- stderr -------------------------------
error: derive(Diagnostic): unsupported type attribute for diagnostic derive enum
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:44:1
   |
LL | #[diag("this is an example message", code = E0123)]
   | ^

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:47:5
   |
LL |     Foo,
   |     ^^^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:49:5
   |
LL |     Bar,
   |     ^^^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: expected parentheses: #[diag(...)]
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:55:8
   |
LL | #[diag = "E0123"]
   |        ^

error: derive(Diagnostic): `#[nonsense(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:60:1
   |
LL | #[nonsense("this is an example message", code = E0123)]
   | ^

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:60:1
   |
LL | #[nonsense("this is an example message", code = E0123)]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:67:1
   |
LL | #[diag(code = E0123)]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:72:1
   |
LL | #[diag(nonsense("foo"), code = E0123, slug = "foo")]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:77:1
   |
LL | #[diag(nonsense = "...", code = E0123, slug = "foo")]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:82:1
   |
LL | #[diag(nonsense = 4, code = E0123, slug = "foo")]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): unknown argument
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:87:52
   |
LL | #[diag("this is an example message", code = E0123, slug = "foo")]
   |                                                    ^^^^
   |
   = note: only the `code` parameter is valid after the message

error: derive(Diagnostic): `#[suggestion = ...]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:94:5
   |
LL |     #[suggestion = "bar"]
   |     ^

---

error: derive(Diagnostic): attribute specified multiple times
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:106:52
   |
LL | #[diag("this is an example message", code = E0123, code = E0456)]
   |                                                    ^^^^
   |
note: previously specified here
  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:106:38
   |
LL | #[diag("this is an example message", code = E0123, code = E0456)]
   |                                      ^^^^

error: derive(Diagnostic): diagnostic message must be the first argument
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:111:38
   |
LL | #[diag("this is an example message", no_crate::example, code = E0123)]
   |                                      ^^^^^^^^

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:116:1
   |
LL | struct KindNotProvided {} //~ ERROR diagnostic message not specified
   | ^^^^^^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:119:1
   |
LL | #[diag(code = E0123)]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): the `#[primary_span]` attribute can only be applied to fields of type `Span` or `MultiSpan`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:130:5
   |
LL |     #[primary_span]
   |     ^

error: derive(Diagnostic): `#[nonsense]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:138:5
   |
LL |     #[nonsense]
   |     ^

error: derive(Diagnostic): the `#[label(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:155:5
   |
LL |     #[label("with a label")]
   |     ^

error: derive(Diagnostic): `name` doesn't refer to a field on this type
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:163:46
   |
LL |     #[suggestion("with a suggestion", code = "{name}")]
   |                                              ^^^^^^^^

error: invalid format string: expected `}` but string was terminated
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:168:10
   |
LL | #[derive(Diagnostic)]
   |          ^^^^^^^^^^ expected `}` in format string
   |
   = note: if you intended to print `{`, you can escape it using `{{`
   = note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)

error: invalid format string: unmatched `}` found
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:178:10
   |
LL | #[derive(Diagnostic)]
   |          ^^^^^^^^^^ unmatched `}` in format string
   |
   = note: if you intended to print `}`, you can escape it using `}}`
   = note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)

error: derive(Diagnostic): the `#[label(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:198:5
   |
LL |     #[label("with a label")]
   |     ^

error: derive(Diagnostic): suggestion without `code = "..."`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:217:5
   |
LL |     #[suggestion("with a suggestion")]
   |     ^

error: derive(Diagnostic): invalid nested attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:225:39
   |
LL |     #[suggestion("with a suggestion", nonsense = "bar")]
   |                                       ^^^^^^^^
   |
   = help: only `style`, `code` and `applicability` are valid nested attributes

error: derive(Diagnostic): suggestion without `code = "..."`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:225:5
   |
LL |     #[suggestion("with a suggestion", nonsense = "bar")]
   |     ^

error: derive(Diagnostic): invalid nested attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:234:39
   |
LL |     #[suggestion("with a suggestion", msg = "bar")]
   |                                       ^^^
   |
   = help: only `style`, `code` and `applicability` are valid nested attributes

error: derive(Diagnostic): suggestion without `code = "..."`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:234:5
   |
LL |     #[suggestion("with a suggestion", msg = "bar")]
   |     ^

error: derive(Diagnostic): wrong field type for suggestion
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:257:5
   |
LL |     #[suggestion("with a suggestion", code = "This is suggested code")]
   |     ^
   |
   = help: `#[suggestion(...)]` should be applied to fields of type `Span` or `(Span, Applicability)`

error: derive(Diagnostic): attribute specified multiple times
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:273:24
   |
LL |     suggestion: (Span, Span, Applicability),
---
   |
LL |     suggestion: (Applicability, Applicability, Span),
   |                  ^^^^^^^^^^^^^

error: derive(Diagnostic): `#[label = ...]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:288:5
   |
LL |     #[label = "bar"]
   |     ^

error: derive(Diagnostic): attribute specified multiple times
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:389:5
   |
LL |     #[suggestion("with a suggestion", code = "...", applicability = "maybe-incorrect")]
   |     ^
   |
note: previously specified here
  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:391:24
   |
LL |     suggestion: (Span, Applicability),
   |                        ^^^^^^^^^^^^^

error: derive(Diagnostic): invalid applicability
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:397:69
   |
LL |     #[suggestion("with a suggestion", code = "...", applicability = "batman")]
   |                                                                     ^^^^^^^^

error: derive(Diagnostic): the `#[help(...)]` attribute can only be applied to fields of type `Span`, `MultiSpan`, `bool` or `()`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:460:5
   |
LL |     #[help("with a help")]
   |     ^

error: derive(Diagnostic): no nested attribute expected here
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:469:29
   |
LL |     #[label("with a label", foo)]
   |                             ^^^

error: derive(Diagnostic): a diagnostic message must be the first argument to the attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:477:29
   |
LL |     #[label("with a label", "and another one?")]
   |                             ^^^^^^^^^^^^^^^^^^

error: derive(Diagnostic): no nested attribute expected here
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:485:29
   |
LL |     #[label("with a label", foo = "...")]
   |                             ^^^

error: derive(Diagnostic): no nested attribute expected here
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:493:29
   |
LL |     #[label("with a label", foo("..."))]
   |                             ^^^

error: derive(Diagnostic): `#[error(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:513:1
   |
LL | #[error("this is an example message", code = E0123)]
   | ^

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:513:1
   |
LL | #[error("this is an example message", code = E0123)]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): `#[warn_(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:520:1
   |
LL | #[warn_("this is an example message", code = E0123)]
   | ^

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:520:1
   |
LL | #[warn_("this is an example message", code = E0123)]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): `#[lint(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:527:1
   |
LL | #[lint("this is an example message", code = E0123)]
   | ^

error: derive(Diagnostic): diagnostic message not specified
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:527:1
   |
LL | #[lint("this is an example message", code = E0123)]
   | ^
   |
   = help: specify the message as the first argument to the `#[diag(...)]` attribute, such as `#[diag("Example error")]`

error: derive(Diagnostic): attribute specified multiple times
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:536:53
   |
LL |     #[suggestion("with a suggestion", code = "...", code = ",,,")]
   |                                                     ^^^^
   |
note: previously specified here
  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:536:39
   |
LL |     #[suggestion("with a suggestion", code = "...", code = ",,,")]
   |                                       ^^^^

error: derive(Diagnostic): wrong types for suggestion
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:545:24
   |
LL |     suggestion: (Span, usize),
   |                        ^^^^^
   |
   = help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`

error: derive(Diagnostic): wrong types for suggestion
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:553:17
   |
LL |     suggestion: (Span,),
   |                 ^^^^^^^
   |
   = help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`

error: derive(Diagnostic): suggestion without `code = "..."`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:560:5
   |
LL |     #[suggestion("with a suggestion")]
   |     ^

error: derive(Diagnostic): `#[multipart_suggestion(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:567:1
   |
LL | #[multipart_suggestion("with a suggestion")]
   | ^
   |
   = help: consider creating a `Subdiagnostic` instead

error: derive(Diagnostic): `#[multipart_suggestion(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:570:1
   |
LL | #[multipart_suggestion()]
   | ^
   |
   = help: consider creating a `Subdiagnostic` instead

error: derive(Diagnostic): `#[multipart_suggestion(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:574:5
   |
LL |     #[multipart_suggestion("with a suggestion")]
   |     ^
   |
   = help: consider creating a `Subdiagnostic` instead

error: derive(Diagnostic): `#[suggestion(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:582:1
   |
LL | #[suggestion("with a suggestion", code = "...")]
   | ^
   |
   = help: `#[label]` and `#[suggestion]` can only be applied to fields

error: derive(Diagnostic): `#[label]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:591:1
   |
LL | #[label]
   | ^
   |
   = help: subdiagnostic message is missing

error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:625:5
   |
LL |     #[subdiagnostic(bad)]
   |     ^

error: derive(Diagnostic): `#[subdiagnostic = ...]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:633:5
   |
LL |     #[subdiagnostic = "bad"]
   |     ^

error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:641:5
   |
LL |     #[subdiagnostic(bad, bad)]
   |     ^

error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:649:5
   |
LL |     #[subdiagnostic("bad")]
   |     ^

error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:657:5
   |
LL |     #[subdiagnostic(eager)]
   |     ^

error: derive(Diagnostic): `#[subdiagnostic(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:678:5
   |
LL |     #[subdiagnostic(eager)]
   |     ^

error: derive(Diagnostic): expected at least one string literal for `code(...)`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:709:44
   |
LL |     #[suggestion("with a suggestion", code())]
   |                                            ^

error: derive(Diagnostic): `code(...)` must contain only string literals
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:717:44
   |
LL |     #[suggestion("with a suggestion", code(foo))]
   |                                            ^^^

error: unexpected token, expected `)`
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:717:44
   |
LL |     #[suggestion("with a suggestion", code(foo))]
   |                                            ^^^

error: expected string literal
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:726:46
   |
LL |     #[suggestion("with a suggestion", code = 3)]
   |                                              ^

error: derive(Diagnostic): `#[suggestion(...)]` is not a valid attribute
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:741:5
   |
LL |     #[suggestion("with a suggestion", code = "")]
   |     ^
   |
   = note: `#[suggestion(...)]` applied to `Vec` field is ambiguous
   = help: to show a suggestion consisting of multiple parts, use a `Subdiagnostic` annotated with `#[multipart_suggestion(...)]`
   = help: to show a variable set of suggestions, use a `Vec` of `Subdiagnostic`s annotated with `#[suggestion(...)]`

error: derive(Diagnostic): Variable `nosub` not found in diagnostic 
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:753:8
   |
LL | #[diag("does not exist: {$nosub}")]
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: Available fields: "sub"

error: cannot find attribute `nonsense` in this scope
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:60:3
   |
LL | #[nonsense("this is an example message", code = E0123)]
   |   ^^^^^^^^

error: cannot find attribute `nonsense` in this scope
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:138:7
   |
---

error: cannot find attribute `warn_` in this scope
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:520:3
   |
LL | #[warn_("this is an example message", code = E0123)]
   |   ^^^^^
   |
help: a built-in attribute with a similar name exists
   |
LL - #[warn_("this is an example message", code = E0123)]
LL + #[warn("this is an example message", code = E0123)]
   |

error: cannot find attribute `lint` in this scope
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:527:3
   |
LL | #[lint("this is an example message", code = E0123)]
   |   ^^^^
   |
help: a built-in attribute with a similar name exists
   |
LL - #[lint("this is an example message", code = E0123)]
LL + #[link("this is an example message", code = E0123)]
   |

error: cannot find attribute `multipart_suggestion` in this scope
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:567:3
   |
LL | #[multipart_suggestion("with a suggestion")]
   |   ^^^^^^^^^^^^^^^^^^^^
   |
help: `multipart_suggestion` is an attribute that can be used by the derive macro `Subdiagnostic`, you might be missing a `derive` attribute
   |
LL + #[derive(Subdiagnostic)]
---

error: cannot find attribute `multipart_suggestion` in this scope
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:574:7
   |
LL |     #[multipart_suggestion("with a suggestion")]
   |       ^^^^^^^^^^^^^^^^^^^^
   |
   = note: `multipart_suggestion` is an attribute that can be used by the derive macro `Subdiagnostic`, you might be missing a `derive` attribute

error[E0277]: the trait bound `Hello: IntoDiagArg` is not satisfied
##[error]  --> /checkout/tests/ui-fulldeps/session-diagnostic/diagnostic-derive-inline.rs:329:12
   |
LL | #[derive(Diagnostic)]
   |          ---------- required by a bound introduced by this call
...
---
             AllocRange
             Backtrace
             Binder<I, T>
           and 74 others
note: required by a bound in `Diag::<'a, G>::arg`
  --> /rustc/FAKE_PREFIX/compiler/rustc_errors/src/diagnostic.rs:490:8
  ::: /rustc/FAKE_PREFIX/compiler/rustc_errors/src/diagnostic.rs:1204:7
   |
   = note: in this macro invocation
   = note: this error originates in the macro `with_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustc-dev-guide Area: rustc-dev-guide A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic F-explicit_tail_calls `#![feature(explicit_tail_calls)]` PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.