pub enum CompileError {
Parse(ParseError),
Io(String),
Build(String),
Runtime(String),
Ownership(LogosError),
}Expand description
Errors that can occur during the LOGOS compilation pipeline.
This enum represents the different stages where compilation can fail, from parsing through to runtime execution.
§Error Hierarchy
CompileError
├── Parse ← Lexing, parsing, or static analysis
├── Io ← File system operations
├── Build ← Rust compilation (cargo build)
├── Ownership ← Translated borrow checker errors
└── Runtime ← Program execution failure§Error Translation
The Ownership variant contains LOGOS-friendly error messages translated
from rustc’s borrow checker errors (E0382, E0505, E0597) using the
diagnostic module.
Variants§
Parse(ParseError)
Parsing or static analysis failed.
This includes lexer errors, syntax errors, escape analysis failures, ownership analysis failures, and Z3 verification failures.
Io(String)
File system operation failed.
Typically occurs when reading source files or writing output.
Build(String)
Rust compilation failed (cargo build).
Contains the raw stderr output from rustc when diagnostic translation was not possible.
Runtime(String)
Runtime execution failed.
Contains stderr output from the executed program.
Ownership(LogosError)
Translated ownership/borrow checker error with LOGOS-friendly message.
This variant is used when rustc reports errors like E0382 (use after move) and we can translate them into natural language error messages that reference the original LOGOS source.