rust/tests/source/imports.rs

100 lines
2.3 KiB
Rust
Raw Normal View History

// rustfmt-normalize_comments: true
// rustfmt-error_on_line_overflow: false
// Imports.
// Long import.
use syntax::ast::{ItemForeignMod, ItemImpl, ItemMac, ItemMod, ItemStatic, ItemDefaultImpl};
2015-09-04 11:09:05 -05:00
use exceedingly::looooooooooooooooooooooooooooooooooooooooooooooooooooooooooong::import::path::{ItemA, ItemB};
use exceedingly::loooooooooooooooooooooooooooooooooooooooooooooooooooooooong::import::path::{ItemA, ItemB};
use list::{
// Some item
SomeItem /* Comment */, /* Another item */ AnotherItem /* Another Comment */, // Last Item
LastItem
};
use test::{ Other /* C */ , /* A */ self /* B */ };
use syntax::{self};
use {/* Pre-comment! */
Foo, Bar /* comment */};
use Foo::{Bar, Baz};
pub use syntax::ast::{Expr_, Expr, ExprAssign, ExprCall, ExprMethodCall, ExprPath};
2018-03-14 20:06:54 -05:00
use syntax::some::{};
use self;
use std::io::{self};
use std::io::self;
mod Foo {
pub use syntax::ast::{
ItemForeignMod,
ItemImpl,
ItemMac,
ItemMod,
ItemStatic,
ItemDefaultImpl
};
mod Foo2 {
pub use syntax::ast::{ItemForeignMod, ItemImpl, ItemMac, ItemMod, ItemStatic, self, ItemDefaultImpl};
}
}
fn test() {
use Baz::*;
use Qux;
}
2015-07-25 16:10:48 -05:00
// Simple imports
use foo::bar::baz as baz ;
use bar::quux as kaas;
use foo;
// With aliases.
use foo::{self as bar, baz};
use foo::{self as bar};
use foo::{qux as bar};
use foo::{baz, qux as bar};
2016-06-08 06:00:11 -05:00
// With absolute paths
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 *;
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
use foo::{a, bar::{baz, qux, xxxxxxxxxxx, yyyyyyyyyyyyy, zzzzzzzzzzzzzzzz, foo::{a, b, cxxxxxxxxxxxxx, yyyyyyyyyyyyyy, zzzzzzzzzzzzzzzz}}, b, boo, c,};
use fooo::{baar::{foobar::{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy, zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}, z, bar, bar::*, x, y};
// nested imports with a single sub-tree.
use a::{b::{c::*}};
use a::{b::{c::{}}};
use a::{b::{c::d}};
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;