diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-04-13 12:20:54 +0300 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-04-13 12:21:59 +0300 |
| commit | db2a989565ea2b3d3c06e34cd385cfb574a32fbb (patch) | |
| tree | 27d88010e9441d2af973f04c9b979220b0b07ebf /docs/dev | |
| parent | 06a633ff421b764428bb946ced914e59532fe13f (diff) | |
| download | rust-db2a989565ea2b3d3c06e34cd385cfb574a32fbb.tar.gz rust-db2a989565ea2b3d3c06e34cd385cfb574a32fbb.zip | |
internal: don't use `#[should_panic]` for tests
Diffstat (limited to 'docs/dev')
| -rw-r--r-- | docs/dev/style.md | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/dev/style.md b/docs/dev/style.md index 468dedff20d..7c47c26b2d4 100644 --- a/docs/dev/style.md +++ b/docs/dev/style.md @@ -152,6 +152,16 @@ Do not reuse marks between several tests. **Rationale:** marks provide an easy way to find the canonical test for each bit of code. This makes it much easier to understand. +More than one mark per test / code branch doesn't add significantly to understanding. + +## `#[should_panic]` + +Do not use `#[should_panic]` tests. +Instead, explicitly check for `None`, `Err`, etc. + +**Rationale:**a `#[should_panic]` is a tool for library authors, to makes sure that API does not fail silently, when misused. +`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. +Panic messages in the logs from the `#[should_panic]` tests are confusing. ## Function Preconditions |
