Tweak incorrect ABI suggestion and make suggestion verbose by estebank · Pull Request #137771 · rust-lang/rust

@estebank

Provide a better suggestion message, and make the suggestion verbose.

```
error[E0703]: invalid ABI: found `riscv-interrupt`
  --> $DIR/riscv-discoverability-guidance.rs:17:8
   |
LL | extern "riscv-interrupt" fn isr() {}
   |        ^^^^^^^^^^^^^^^^^ invalid ABI
   |
   = note: invoke `rustc --print=calling-conventions` for a full list of supported calling conventions
help: there's a similarly named valid ABI `"riscv-interrupt-m"`
   |
LL | extern "riscv-interrupt-m" fn isr() {}
   |                        ++
```

@rustbot rustbot added 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.

labels

Feb 28, 2025

compiler-errors

@bors bors 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

Feb 28, 2025

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Feb 28, 2025
Tweak incorrect ABI suggestion

Provide a better suggestion message, and make the suggestion verbose.

```
error[E0703]: invalid ABI: found `riscv-interrupt`
  --> $DIR/riscv-discoverability-guidance.rs:17:8
   |
LL | extern "riscv-interrupt" fn isr() {}
   |        ^^^^^^^^^^^^^^^^^ invalid ABI
   |
   = note: invoke `rustc --print=calling-conventions` for a full list of supported calling conventions
help: there's a similarly named valid ABI `riscv-interrupt-m`
   |
LL | extern "riscv-interrupt-m" fn isr() {}
   |                        ++
```

bors added a commit to rust-lang-ci/rust that referenced this pull request

Feb 28, 2025
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#137045 (Defer repeat expr `Copy` checks to end of type checking)
 - rust-lang#137171 (Suggest swapping equality on E0277)
 - rust-lang#137634 (Update `compiler-builtins` to 0.1.149)
 - rust-lang#137686 (Handle asm const similar to inline const)
 - rust-lang#137689 (Use `Binder<Vec<Ty>>` instead of `Vec<Binder<Ty>>` in both solvers for sized/auto traits/etc.)
 - rust-lang#137718 (Use original command for showing sccache stats)
 - rust-lang#137723 (Make `rust.description` more general-purpose and pass `CFG_VER_DESCRIPTION`)
 - rust-lang#137730 (checked_ilog tests: deal with a bit of float imprecision)
 - rust-lang#137735 (Update E0133 docs for 2024 edition)
 - rust-lang#137742 (unconditionally lower match arm even if it's unneeded for never pattern in match)
 - rust-lang#137771 (Tweak incorrect ABI suggestion)

r? `@ghost`
`@rustbot` modify labels: rollup

bors added a commit to rust-lang-ci/rust that referenced this pull request

Feb 28, 2025
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#137045 (Defer repeat expr `Copy` checks to end of type checking)
 - rust-lang#137171 (Suggest swapping equality on E0277)
 - rust-lang#137634 (Update `compiler-builtins` to 0.1.149)
 - rust-lang#137686 (Handle asm const similar to inline const)
 - rust-lang#137689 (Use `Binder<Vec<Ty>>` instead of `Vec<Binder<Ty>>` in both solvers for sized/auto traits/etc.)
 - rust-lang#137718 (Use original command for showing sccache stats)
 - rust-lang#137723 (Make `rust.description` more general-purpose and pass `CFG_VER_DESCRIPTION`)
 - rust-lang#137730 (checked_ilog tests: deal with a bit of float imprecision)
 - rust-lang#137735 (Update E0133 docs for 2024 edition)
 - rust-lang#137742 (unconditionally lower match arm even if it's unneeded for never pattern in match)
 - rust-lang#137771 (Tweak incorrect ABI suggestion)

r? `@ghost`
`@rustbot` modify labels: rollup

bors added a commit to rust-lang-ci/rust that referenced this pull request

Feb 28, 2025
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#137045 (Defer repeat expr `Copy` checks to end of type checking)
 - rust-lang#137171 (Suggest swapping equality on E0277)
 - rust-lang#137634 (Update `compiler-builtins` to 0.1.149)
 - rust-lang#137686 (Handle asm const similar to inline const)
 - rust-lang#137689 (Use `Binder<Vec<Ty>>` instead of `Vec<Binder<Ty>>` in both solvers for sized/auto traits/etc.)
 - rust-lang#137718 (Use original command for showing sccache stats)
 - rust-lang#137723 (Make `rust.description` more general-purpose and pass `CFG_VER_DESCRIPTION`)
 - rust-lang#137730 (checked_ilog tests: deal with a bit of float imprecision)
 - rust-lang#137735 (Update E0133 docs for 2024 edition)
 - rust-lang#137742 (unconditionally lower match arm even if it's unneeded for never pattern in match)
 - rust-lang#137771 (Tweak incorrect ABI suggestion)

r? `@ghost`
`@rustbot` modify labels: rollup

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Feb 28, 2025
Tweak incorrect ABI suggestion

Provide a better suggestion message, and make the suggestion verbose.

```
error[E0703]: invalid ABI: found `riscv-interrupt`
  --> $DIR/riscv-discoverability-guidance.rs:17:8
   |
LL | extern "riscv-interrupt" fn isr() {}
   |        ^^^^^^^^^^^^^^^^^ invalid ABI
   |
   = note: invoke `rustc --print=calling-conventions` for a full list of supported calling conventions
help: there's a similarly named valid ABI `riscv-interrupt-m`
   |
LL | extern "riscv-interrupt-m" fn isr() {}
   |                        ++
```

@compiler-errors compiler-errors changed the title Tweak incorrect ABI suggestion Tweak incorrect ABI suggestion and make suggestion verbose

Feb 28, 2025

bors added a commit to rust-lang-ci/rust that referenced this pull request

Mar 1, 2025
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#137045 (Defer repeat expr `Copy` checks to end of type checking)
 - rust-lang#137171 (Suggest swapping equality on E0277)
 - rust-lang#137686 (Handle asm const similar to inline const)
 - rust-lang#137689 (Use `Binder<Vec<Ty>>` instead of `Vec<Binder<Ty>>` in both solvers for sized/auto traits/etc.)
 - rust-lang#137718 (Use original command for showing sccache stats)
 - rust-lang#137730 (checked_ilog tests: deal with a bit of float imprecision)
 - rust-lang#137735 (Update E0133 docs for 2024 edition)
 - rust-lang#137742 (unconditionally lower match arm even if it's unneeded for never pattern in match)
 - rust-lang#137771 (Tweak incorrect ABI suggestion and make suggestion verbose)

Failed merges:

 - rust-lang#137723 (Make `rust.description` more general-purpose and pass `CFG_VER_DESCRIPTION`)

r? `@ghost`
`@rustbot` modify labels: rollup

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Mar 1, 2025
Rollup merge of rust-lang#137771 - estebank:abi-sugg, r=compiler-errors

Tweak incorrect ABI suggestion and make suggestion verbose

Provide a better suggestion message, and make the suggestion verbose.

```
error[E0703]: invalid ABI: found `riscv-interrupt`
  --> $DIR/riscv-discoverability-guidance.rs:17:8
   |
LL | extern "riscv-interrupt" fn isr() {}
   |        ^^^^^^^^^^^^^^^^^ invalid ABI
   |
   = note: invoke `rustc --print=calling-conventions` for a full list of supported calling conventions
help: there's a similarly named valid ABI `riscv-interrupt-m`
   |
LL | extern "riscv-interrupt-m" fn isr() {}
   |                        ++
```