#![warn(missing_docs)]
pub mod buffer_fs;
pub mod builder;
pub mod cached_fs;
pub mod dependency;
pub mod diagnostic;
pub mod display;
pub mod fix;
pub mod fs;
pub mod hash;
pub mod incomplete;
pub mod once;
pub mod package_id;
pub mod report;
pub mod rule;
pub mod shell;
pub mod span;
pub mod timing;
pub use buffer_fs::BufferFs;
pub use builder::{DiagnosticBuilder, diagnostic};
pub use cached_fs::CachedFs;
pub use dependency::{DependencyKind, is_valid_package_name};
pub use diagnostic::Diagnostic;
pub use display::slash;
pub use fix::{
EditError, FileChange, Fix, FixOp, FixPreference, FixSafety, InsertPosition, JsonAction, PathSeg, TextEdit,
YamlAction, apply_text_edits,
};
pub use fs::{DirEntry, FileSystem, MemoryFs, OsFs, PathKind};
pub use hash::{HashMap, HashSet, HashState};
pub use incomplete::{IncompleteCause, IncompleteEntries, IncompletePackage, IncompleteScope};
pub use once::get_or_compute;
pub use package_id::PackageId;
pub use report::{ConfigJudgement, Report, Summary};
pub use rule::{Category, Fixability, InvalidRuleId, RuleId, RuleMeta, Severity};
pub use span::{LineIndex, Location, Related, Span};
const _: () = {
fn assert_send_sync<T: Send + Sync>() {}
let _ = assert_send_sync::<Diagnostic>;
let _ = assert_send_sync::<DiagnosticBuilder>;
let _ = assert_send_sync::<Report>;
let _ = assert_send_sync::<Fix>;
let _ = assert_send_sync::<FixOp>;
let _ = assert_send_sync::<FileChange>;
let _ = assert_send_sync::<RuleMeta>;
let _ = assert_send_sync::<Span>;
let _ = assert_send_sync::<PackageId>;
let _ = assert_send_sync::<LineIndex>;
let _ = assert_send_sync::<MemoryFs>;
let _ = assert_send_sync::<OsFs>;
let _ = assert_send_sync::<CachedFs<OsFs>>;
let _ = assert_send_sync::<BufferFs<OsFs>>;
let _ = assert_send_sync::<std::sync::Arc<dyn FileSystem>>;
let _ = assert_send_sync::<Box<dyn FileSystem>>;
let _ = assert_send_sync::<Location>;
let _ = assert_send_sync::<Related>;
let _ = assert_send_sync::<TextEdit>;
let _ = assert_send_sync::<DirEntry>;
let _ = assert_send_sync::<Summary>;
let _ = assert_send_sync::<RuleId>;
let _ = assert_send_sync::<DependencyKind>;
let _ = assert_send_sync::<Severity>;
let _ = assert_send_sync::<Category>;
let _ = assert_send_sync::<Fixability>;
};