1#![warn(clippy::pedantic)]
12#![allow(clippy::must_use_candidate)]
13#![allow(clippy::missing_errors_doc)]
14#![allow(clippy::missing_panics_doc)]
15#![allow(clippy::module_name_repetitions)]
16#![allow(clippy::multiple_crate_versions)]
18
19pub mod cache;
20pub mod error;
21pub mod git;
22pub mod graph;
23pub mod lang;
24pub mod loader;
25pub mod query;
26pub mod repl;
27pub mod report;
28pub mod session;
29pub mod walker;
30
31#[cfg(test)]
35mod auto_trait_tests {
36 fn is_normal<T: Sized + Send + Sync + Unpin>() {}
37
38 #[test]
39 fn public_types_are_send_sync() {
40 is_normal::<crate::graph::ModuleId>();
41 is_normal::<crate::graph::EdgeId>();
42 is_normal::<crate::graph::EdgeKind>();
43 is_normal::<crate::graph::Module>();
44 is_normal::<crate::graph::Edge>();
45 is_normal::<crate::graph::ModuleGraph>();
46 is_normal::<crate::query::TraceResult>();
47 is_normal::<crate::query::TraceSnapshot>();
48 is_normal::<crate::query::DiffResult>();
49 is_normal::<crate::walker::BuildResult>();
50 is_normal::<crate::error::Error>();
51 is_normal::<crate::loader::LoadedGraph>();
52 is_normal::<crate::session::Session>();
53 is_normal::<crate::session::ResolvedTarget>();
54 is_normal::<crate::lang::ParseError>();
55 is_normal::<crate::lang::RawImport>();
56 is_normal::<crate::lang::ParseResult>();
57 is_normal::<crate::lang::ProjectKind>();
58 is_normal::<crate::git::DiffArg>();
59 is_normal::<crate::git::TempWorktree>();
60 is_normal::<crate::repl::Command>();
61 }
62}