aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/dev/style.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/dev/style.md b/docs/dev/style.md
index 0c5e2ad33..e2f1b6996 100644
--- a/docs/dev/style.md
+++ b/docs/dev/style.md
@@ -267,6 +267,20 @@ Non-local code properties degrade under change, privacy makes invariant local.
267Borrowed own data discloses irrelevant details about origin of data. 267Borrowed own data discloses irrelevant details about origin of data.
268Irrelevant (neither right nor wrong) things obscure correctness. 268Irrelevant (neither right nor wrong) things obscure correctness.
269 269
270## Useless Types
271
272More generally, always prefer types on the left
273
274```rust
275// GOOD BAD
276&[T] &Vec<T>
277&str &String
278Option<&T> &Option<T>
279```
280
281**Rationale:** types on the left are strictly more general.
282Even when generality is not required, consistency is important.
283
270## Constructors 284## Constructors
271 285
272Prefer `Default` to zero-argument `new` function 286Prefer `Default` to zero-argument `new` function