1 #![cfg_attr(feature = "nightly", feature(test))] 2 #![feature(control_flow_enum)] 3 #![feature(try_trait_v2)] 4 5 #[macro_use] 6 extern crate log; 7 #[macro_use] 8 extern crate lazy_static; 9 #[macro_use] 10 extern crate bitflags; 11 12 #[macro_use] 13 extern crate derive_more; 14 15 #[macro_use] 16 mod testutils; 17 #[macro_use] 18 mod util; 19 mod ast; 20 mod ast_types; 21 mod codecleaner; 22 mod codeiter; 23 mod core; 24 mod fileres; 25 mod matchers; 26 #[cfg(feature = "metadata")] 27 mod metadata; 28 mod nameres; 29 mod primitive; 30 mod project_model; 31 mod scopes; 32 mod snippets; 33 mod typeinf; 34 35 pub use crate::ast_types::PathSearch; 36 pub use crate::core::{ 37 complete_from_file, complete_fully_qualified_name, find_definition, is_use_stmt, to_coords, 38 to_point, 39 }; 40 pub use crate::core::{ 41 BytePos, ByteRange, Coordinate, FileCache, FileLoader, Location, Match, MatchType, Session, 42 }; 43 pub use crate::primitive::PrimKind; 44 pub use crate::project_model::{Edition, ProjectModelProvider}; 45 pub use crate::snippets::snippet_for_match; 46 pub use crate::util::expand_ident; 47 48 pub use crate::util::{get_rust_src_path, RustSrcPathError}; 49 50 #[cfg(all(feature = "nightly", test))] 51 mod benches; 52