Skip to main content

draxl_rust/
lib.rs

1#![forbid(unsafe_code)]
2//! Rust-profile support for Draxl.
3//!
4//! The crate owns Rust-profile parsing, rendering, lowering, and import
5//! helpers so the generic surface crates can dispatch by lower language.
6
7pub mod import;
8pub mod lower;
9pub mod merge_context;
10pub mod merge_semantics;
11pub mod parse;
12pub mod patch_schema;
13pub mod render;
14
15pub use import::{import_source, ImportError};
16pub use lower::lower_file;
17pub use merge_context::TreeContext;
18pub use merge_semantics::{
19    extract_semantic_changes, SemanticChange, SemanticOp, SemanticOwner, SemanticPatchNode,
20    SemanticRegion, SemanticSlotOwner, SemanticSlotRef,
21};
22pub use parse::{
23    parse_comment_fragment, parse_doc_fragment, parse_expr_fragment, parse_field_fragment,
24    parse_file, parse_item_fragment, parse_match_arm_fragment, parse_param_fragment,
25    parse_pattern_fragment, parse_stmt_fragment, parse_type_fragment, parse_variant_fragment,
26    ParseError,
27};
28pub use render::print_file;