aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-04-13 10:23:24 +0100
committerGitHub <[email protected]>2021-04-13 10:23:24 +0100
commit11e7371df7b7ba7f47ae4892eb8b0f98b371de70 (patch)
tree27d88010e9441d2af973f04c9b979220b0b07ebf /docs
parent6081b437cc842f8885c26636bef8af4cbc5483e3 (diff)
parentdb2a989565ea2b3d3c06e34cd385cfb574a32fbb (diff)
Merge #8499
8499: internal: don't use `#[should_panic]` for tests r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r--docs/dev/style.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/dev/style.md b/docs/dev/style.md
index 468dedff2..7c47c26b2 100644
--- a/docs/dev/style.md
+++ b/docs/dev/style.md
@@ -152,6 +152,16 @@ Do not reuse marks between several tests.
152 152
153**Rationale:** marks provide an easy way to find the canonical test for each bit of code. 153**Rationale:** marks provide an easy way to find the canonical test for each bit of code.
154This makes it much easier to understand. 154This makes it much easier to understand.
155More than one mark per test / code branch doesn't add significantly to understanding.
156
157## `#[should_panic]`
158
159Do not use `#[should_panic]` tests.
160Instead, explicitly check for `None`, `Err`, etc.
161
162**Rationale:**a `#[should_panic]` is a tool for library authors, to makes sure that API does not fail silently, when misused.
163`rust-analyzer` is not a library, we don't need to test for API misuse, and we have to handle any user input without panics.
164Panic messages in the logs from the `#[should_panic]` tests are confusing.
155 165
156## Function Preconditions 166## Function Preconditions
157 167