Skip to content

Commit 10512a5

Browse files
max-sixtytopecongiro
authored andcommitted
Impl only use (#2951)
1 parent f009252 commit 10512a5

File tree

4 files changed

+22
-16
lines changed

4 files changed

+22
-16
lines changed

src/config/file_lines.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ mod test {
386386
);
387387
}
388388

389-
use super::json::{self, json, json_internal};
389+
use super::json::{self, json};
390390
use super::{FileLines, FileName};
391391
use std::{collections::HashMap, path::PathBuf};
392392

src/imports.rs

+13-15
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,10 @@ impl UseSegment {
149149
if name.is_empty() || name == "{{root}}" {
150150
return None;
151151
}
152-
Some(if name == "self" {
153-
UseSegment::Slf(None)
154-
} else if name == "super" {
155-
UseSegment::Super(None)
156-
} else {
157-
UseSegment::Ident((*name).to_owned(), None)
152+
Some(match name {
153+
"self" => UseSegment::Slf(None),
154+
"super" => UseSegment::Super(None),
155+
_ => UseSegment::Ident((*name).to_owned(), None),
158156
})
159157
}
160158
}
@@ -350,19 +348,19 @@ impl UseTree {
350348
UseTreeKind::Simple(ref rename, ..) => {
351349
let name = rewrite_ident(context, path_to_imported_ident(&a.prefix)).to_owned();
352350
let alias = rename.and_then(|ident| {
353-
if ident == path_to_imported_ident(&a.prefix) {
351+
if ident.name == "_" {
352+
// for impl-only-use
353+
Some("_".to_owned())
354+
} else if ident == path_to_imported_ident(&a.prefix) {
354355
None
355356
} else {
356357
Some(rewrite_ident(context, ident).to_owned())
357358
}
358359
});
359-
360-
let segment = if &name == "self" {
361-
UseSegment::Slf(alias)
362-
} else if &name == "super" {
363-
UseSegment::Super(alias)
364-
} else {
365-
UseSegment::Ident(name, alias)
360+
let segment = match name.as_ref() {
361+
"self" => UseSegment::Slf(alias),
362+
"super" => UseSegment::Super(alias),
363+
_ => UseSegment::Ident(name, alias),
366364
};
367365

368366
// `name` is already in result.
@@ -746,7 +744,7 @@ fn rewrite_nested_use_tree(
746744

747745
impl Rewrite for UseSegment {
748746
fn rewrite(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
749-
Some(match *self {
747+
Some(match self {
750748
UseSegment::Ident(ref ident, Some(ref rename)) => format!("{} as {}", ident, rename),
751749
UseSegment::Ident(ref ident, None) => ident.clone(),
752750
UseSegment::Slf(Some(ref rename)) => format!("self as {}", rename),

tests/source/imports-impl-only-use.rs

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#![feature(underscore_imports)]
2+
3+
use attr;
4+
use std::iter::Iterator as _;

tests/target/imports-impl-only-use.rs

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#![feature(underscore_imports)]
2+
3+
use attr;
4+
use std::iter::Iterator as _;

0 commit comments

Comments
 (0)