diff options
| author | Tshepang Mbambo <tshepang@gmail.com> | 2025-04-19 18:01:18 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-19 18:01:18 +0200 |
| commit | 021ebcc3c779a316433c5dc4fd28b6df0bc50ba0 (patch) | |
| tree | cfafe8dac108fd32e281e94b01262e584417afa3 /src/doc/rustc-dev-guide | |
| parent | 976d13fe495fd9154d0618eff1651b0c441cbc63 (diff) | |
| parent | 48612702d937bc6e26ccc70496c0aade6fae493c (diff) | |
| download | rust-021ebcc3c779a316433c5dc4fd28b6df0bc50ba0.tar.gz rust-021ebcc3c779a316433c5dc4fd28b6df0bc50ba0.zip | |
Merge pull request #2348 from rust-lang/tshepang-error-pattern-cleaning
error-pattern directive section cleaning
Diffstat (limited to 'src/doc/rustc-dev-guide')
| -rw-r--r-- | src/doc/rustc-dev-guide/src/tests/ui.md | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/doc/rustc-dev-guide/src/tests/ui.md b/src/doc/rustc-dev-guide/src/tests/ui.md index 7c4e2a0fdae..6232c8bcc0a 100644 --- a/src/doc/rustc-dev-guide/src/tests/ui.md +++ b/src/doc/rustc-dev-guide/src/tests/ui.md @@ -303,7 +303,7 @@ It should be preferred to using `error-pattern`, which is imprecise and non-exha ### `error-pattern` The `error-pattern` [directive](directives.md) can be used for runtime messages, which don't -have a specific span, or in exceptional cases for compile time messages. +have a specific span, or in exceptional cases, for compile time messages. Let's think about this test: @@ -316,7 +316,7 @@ fn main() { } ``` -We want to ensure this shows "index out of bounds" but we cannot use the `ERROR` +We want to ensure this shows "index out of bounds", but we cannot use the `ERROR` annotation since the runtime error doesn't have any span. Then it's time to use the `error-pattern` directive: @@ -333,18 +333,19 @@ fn main() { Use of `error-pattern` is not recommended in general. For strict testing of compile time output, try to use the line annotations `//~` as much as -possible, including `//~?` annotations for diagnostics without span. +possible, including `//~?` annotations for diagnostics without spans. If the compile time output is target dependent or too verbose, use directive `//@ dont-require-annotations: <diagnostic-kind>` to make the line annotation checking -non-exhaustive, some of the compiler messages can stay uncovered by annotations in this mode. +non-exhaustive. +Some of the compiler messages can stay uncovered by annotations in this mode. -For checking runtime output `//@ check-run-results` may be preferable. +For checking runtime output, `//@ check-run-results` may be preferable. Only use `error-pattern` if none of the above works. Line annotations `//~` are still checked in tests using `error-pattern`. -In exceptional cases use `//@ compile-flags: --error-format=human` to opt out of these checks. +In exceptional cases, use `//@ compile-flags: --error-format=human` to opt out of these checks. ### Diagnostic kinds (error levels) |
