-
Notifications
You must be signed in to change notification settings - Fork 55
Open
Description
Merging imports by default makes imports clearer, e.g.,
use rocket::{
Request, Response,
request::{self, Form},
response::{Flash, Redirect}
};
use rocket_contrib::JsonValue;
use strum::EnumMessage;is visually easier to parse than
use rocket::Request;
use rocket::Response;
use rocket::request;
use rocket::request::Form;
use rocket::response::Flash;
use rocket::response::Redirect;
use rocket_contrib::JsonValue;
use strum::EnumMessage;since the { } in grouped imports make scoping clearer, as opposed to having to parse whether there are differences in lines, like in
use rocket::response::Redirect;
use rocket_contrib::JsonValue;where there is a common prefix.
Tools can optionally offer an option to disable merging imports by default.
This does not change the rules with respect to grouping imports separated by empty lines (this is still not done), that is, this:
use rocket::Request;
use rocket::Response;
use rocket::request;
use rocket::request::Form;continues to be merged as
use rocket::{Request, Response};
use rocket::request::{self, Form};Prior art
rustfmt has a merge_imports option that does this. There are some bugs open for this feature that would need to be closed before stabilization.
Prior discussions
This comment in #24 proposed not merging imports by default, without rationale for that decision.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels