crisp-errors 1.7.0

Fallibility analysis and CrispError enum synthesis (spec §9)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crisp_errors::{ErrorPass, format_errors_crate};
use crisp_typeck::TypeChecker;
use std::path::PathBuf;

fn fallible_root() -> PathBuf {
    PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/fixtures/fallible")
}

#[test]
fn errors_fallible_snapshot() {
    let root = fallible_root();
    let typed = TypeChecker::check_crate(&root).expect("typecheck");
    let errors = ErrorPass::analyze_crate(&root).expect("errors");
    let out = format_errors_crate(&errors, &typed);
    insta::assert_snapshot!(out);
}