Skip to main content

submilli_engine/typechecker/
mod.rs

1pub mod capture;
2pub mod desugar;
3pub mod infer;
4pub mod json_schema;
5pub mod json_strategy;
6pub mod rules;
7pub mod type_param_substitution;
8
9pub use capture::capture;
10pub(crate) use capture::{ResolvedLocals, resolve_locals};
11pub use desugar::desugar;
12pub use infer::{infer, infer_package};
13pub use rules::{capability_binding_type, check};
14
15pub(crate) fn arena_failure(
16    error: crate::arena::ArenaError,
17) -> crate::compiler_error::CompilerFailure {
18    error.into_compiler_failure(crate::compiler_error::CompilerStage::Infer)
19}
20
21pub(crate) fn invariant_failure(
22    message: impl Into<String>,
23) -> crate::compiler_error::CompilerFailure {
24    crate::compiler_error::CompilerFailure::Internal {
25        stage: crate::compiler_error::CompilerStage::Infer,
26        span: None,
27        message: message.into(),
28    }
29}