diff options
author | Aleksey Kladov <[email protected]> | 2020-06-06 18:32:45 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2020-06-06 18:32:45 +0100 |
commit | ae1acbd09c8e98e4e23f01f633ad551dabd5c578 (patch) | |
tree | 46b1a8776a48b239db9e08c4130cd4ff54360372 | |
parent | a609336d7287b3ddddbde30b1f0fb606bf149baf (diff) |
Document import style
-rw-r--r-- | docs/dev/README.md | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md index 194a40e15..6f74d4223 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md | |||
@@ -184,6 +184,27 @@ use crate::{} | |||
184 | use super::{} // but prefer `use crate::` | 184 | use super::{} // but prefer `use crate::` |
185 | ``` | 185 | ``` |
186 | 186 | ||
187 | ## Import Style | ||
188 | |||
189 | Items from `hir` and `ast` should be used qualified: | ||
190 | |||
191 | ```rust | ||
192 | // Good | ||
193 | use ra_syntax::ast; | ||
194 | |||
195 | fn frobnicate(func: hir::Function, strukt: ast::StructDef) {} | ||
196 | |||
197 | // Not as good | ||
198 | use hir::Function; | ||
199 | use ra_syntax::ast::StructDef; | ||
200 | |||
201 | fn frobnicate(func: Function, strukt: StructDef) {} | ||
202 | ``` | ||
203 | |||
204 | Avoid local `use MyEnum::*` imports. | ||
205 | |||
206 | Prefer `use crate::foo::bar` to `use super::bar`. | ||
207 | |||
187 | ## Order of Items | 208 | ## Order of Items |
188 | 209 | ||
189 | Optimize for the reader who sees the file for the first time, and wants to get the general idea about what's going on. | 210 | Optimize for the reader who sees the file for the first time, and wants to get the general idea about what's going on. |