Document import style

This commit is contained in:
Aleksey Kladov 2020-06-06 19:32:45 +02:00
parent a609336d72
commit ae1acbd09c

View file

@ -184,6 +184,27 @@ use crate::{}
use super::{} // but prefer `use crate::`
```
## Import Style
Items from `hir` and `ast` should be used qualified:
```rust
// Good
use ra_syntax::ast;
fn frobnicate(func: hir::Function, strukt: ast::StructDef) {}
// Not as good
use hir::Function;
use ra_syntax::ast::StructDef;
fn frobnicate(func: Function, strukt: StructDef) {}
```
Avoid local `use MyEnum::*` imports.
Prefer `use crate::foo::bar` to `use super::bar`.
## Order of Items
Optimize for the reader who sees the file for the first time, and wants to get the general idea about what's going on.