2017-01-15 19:50:27 -06:00
|
|
|
// rustfmt-normalize_comments: true
|
2017-02-19 12:57:02 -06:00
|
|
|
// rustfmt-error_on_line_overflow: false
|
2017-01-15 19:50:27 -06:00
|
|
|
|
2015-04-28 22:00:58 -05:00
|
|
|
// Imports.
|
|
|
|
|
|
|
|
// Long import.
|
2018-04-29 08:03:49 -05:00
|
|
|
use exceedingly::loooooooooooooooooooooooooooooooooooooooooooooooooooooooong::import::path::{
|
|
|
|
ItemA, ItemB,
|
|
|
|
};
|
|
|
|
use exceedingly::looooooooooooooooooooooooooooooooooooooooooooooooooooooooooong::import::path::{
|
|
|
|
ItemA, ItemB,
|
|
|
|
};
|
2018-03-11 23:24:04 -05:00
|
|
|
use syntax::ast::{ItemDefaultImpl, ItemForeignMod, ItemImpl, ItemMac, ItemMod, ItemStatic};
|
2015-04-28 22:00:58 -05:00
|
|
|
|
2018-04-29 08:03:49 -05:00
|
|
|
use list::{
|
|
|
|
// Another item
|
|
|
|
AnotherItem, // Another Comment
|
|
|
|
// Last Item
|
|
|
|
LastItem,
|
|
|
|
// Some item
|
2018-04-29 20:21:17 -05:00
|
|
|
SomeItem, // Comment
|
2018-04-29 08:03:49 -05:00
|
|
|
};
|
2015-06-25 20:29:54 -05:00
|
|
|
|
|
|
|
use test::{/* A */ self /* B */, Other /* C */};
|
|
|
|
|
2018-03-11 23:24:04 -05:00
|
|
|
use syntax;
|
2017-07-13 04:43:35 -05:00
|
|
|
pub use syntax::ast::{Expr, ExprAssign, ExprCall, ExprMethodCall, ExprPath, Expr_};
|
2018-03-30 23:16:36 -05:00
|
|
|
use Foo::{Bar, Baz};
|
2018-03-14 20:06:54 -05:00
|
|
|
use {Bar /* comment */, /* Pre-comment! */ Foo};
|
2015-05-02 12:12:16 -05:00
|
|
|
|
2017-01-05 22:02:56 -06:00
|
|
|
use std::io;
|
|
|
|
use std::io;
|
|
|
|
|
2015-05-02 12:12:16 -05:00
|
|
|
mod Foo {
|
2018-04-29 08:03:49 -05:00
|
|
|
pub use syntax::ast::{
|
|
|
|
ItemDefaultImpl, ItemForeignMod, ItemImpl, ItemMac, ItemMod, ItemStatic,
|
|
|
|
};
|
2015-05-02 12:12:16 -05:00
|
|
|
|
|
|
|
mod Foo2 {
|
2018-04-29 08:03:49 -05:00
|
|
|
pub use syntax::ast::{
|
|
|
|
self, ItemDefaultImpl, ItemForeignMod, ItemImpl, ItemMac, ItemMod, ItemStatic,
|
|
|
|
};
|
2015-05-02 12:12:16 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn test() {
|
|
|
|
use Baz::*;
|
2015-06-25 20:29:54 -05:00
|
|
|
use Qux;
|
2015-05-02 12:12:16 -05:00
|
|
|
}
|
2015-07-25 16:10:48 -05:00
|
|
|
|
|
|
|
// Simple imports
|
|
|
|
use bar::quux as kaas;
|
|
|
|
use foo;
|
2018-03-14 02:43:01 -05:00
|
|
|
use foo::bar::baz;
|
2015-09-26 01:12:25 -05:00
|
|
|
|
|
|
|
// With aliases.
|
|
|
|
use foo as bar;
|
|
|
|
use foo::qux as bar;
|
2018-03-14 02:43:01 -05:00
|
|
|
use foo::{self as bar, baz};
|
2015-09-26 01:12:25 -05:00
|
|
|
use foo::{baz, qux as bar};
|
2016-06-08 06:00:11 -05:00
|
|
|
|
|
|
|
// With absolute paths
|
2018-03-14 20:06:54 -05:00
|
|
|
use foo;
|
2017-01-18 15:47:07 -06:00
|
|
|
use foo::Bar;
|
|
|
|
use foo::{Bar, Baz};
|
2018-03-30 23:16:36 -05:00
|
|
|
use Foo;
|
2017-01-18 15:47:07 -06:00
|
|
|
use {Bar, Baz};
|
2017-03-07 15:10:56 -06:00
|
|
|
|
2017-07-12 11:53:02 -05:00
|
|
|
// Root globs
|
2018-03-30 23:16:36 -05:00
|
|
|
use *;
|
2018-03-22 02:01:41 -05:00
|
|
|
use *;
|
2017-07-12 11:53:02 -05:00
|
|
|
|
2017-03-07 15:10:56 -06:00
|
|
|
// spaces used to cause glob imports to disappear (#1356)
|
|
|
|
use super::*;
|
|
|
|
use foo::issue_1356::*;
|
2017-08-06 18:42:07 -05:00
|
|
|
|
|
|
|
// We shouldn't remove imports which have attributes attached (#1858)
|
|
|
|
#[cfg(unix)]
|
|
|
|
use self::unix::{};
|
2017-12-09 01:43:06 -06:00
|
|
|
|
|
|
|
// nested imports
|
2018-04-29 08:03:49 -05:00
|
|
|
use foo::{
|
2018-05-02 09:11:50 -05:00
|
|
|
a, b,
|
2018-04-29 08:03:49 -05:00
|
|
|
bar::{
|
2018-05-02 09:11:50 -05:00
|
|
|
baz, foo::{a, b, cxxxxxxxxxxxxx, yyyyyyyyyyyyyy, zzzzzzzzzzzzzzzz}, qux, xxxxxxxxxxx,
|
|
|
|
yyyyyyyyyyyyy, zzzzzzzzzzzzzzzz,
|
2018-04-29 08:03:49 -05:00
|
|
|
},
|
2018-05-02 09:11:50 -05:00
|
|
|
boo, c,
|
2018-04-29 08:03:49 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
use fooo::{
|
|
|
|
baar::foobar::{
|
|
|
|
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy,
|
|
|
|
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz,
|
|
|
|
},
|
2018-05-02 09:11:50 -05:00
|
|
|
bar, bar::*, x, y, z,
|
2018-04-29 08:03:49 -05:00
|
|
|
};
|
2017-12-09 01:43:06 -06:00
|
|
|
|
|
|
|
// nested imports with a single sub-tree.
|
|
|
|
use a::b::c::d;
|
2018-03-14 02:43:01 -05:00
|
|
|
use a::b::c::*;
|
2017-12-09 01:43:06 -06:00
|
|
|
use a::b::c::{xxx, yyy, zzz};
|
2018-04-28 02:03:26 -05:00
|
|
|
|
|
|
|
// #2645
|
|
|
|
/// This line is not affected.
|
|
|
|
// This line is deleted.
|
|
|
|
use c;
|
2018-05-06 03:00:51 -05:00
|
|
|
|
|
|
|
// #2670
|
|
|
|
#[macro_use]
|
|
|
|
use imports_with_attr;
|