rust/tests/target/imports.rs

112 lines
2.2 KiB
Rust
Raw Normal View History

// rustfmt-normalize_comments: true
// rustfmt-error_on_line_overflow: false
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
};
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_};
use Foo::{Bar, Baz};
2018-03-14 20:06:54 -05:00
use {Bar /* comment */, /* Pre-comment! */ Foo};
use std::io;
use std::io;
mod Foo {
2018-04-29 08:03:49 -05:00
pub use syntax::ast::{
ItemDefaultImpl, ItemForeignMod, ItemImpl, ItemMac, ItemMod, ItemStatic,
};
mod Foo2 {
2018-04-29 08:03:49 -05:00
pub use syntax::ast::{
self, ItemDefaultImpl, ItemForeignMod, ItemImpl, ItemMac, ItemMod, ItemStatic,
};
}
}
fn test() {
use Baz::*;
use Qux;
}
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;
// 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};
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;
use foo::Bar;
use foo::{Bar, Baz};
use Foo;
use {Bar, Baz};
2017-03-07 15:10:56 -06:00
// Root globs
use *;
2018-03-22 02:01:41 -05:00
use *;
2017-03-07 15:10:56 -06:00
// spaces used to cause glob imports to disappear (#1356)
use super::*;
use foo::issue_1356::*;
// 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;
// #2670
#[macro_use]
use imports_with_attr;