1
2
3
4
5
6
7
8
9
10
11
12
13
14
use vm_core::errors::KernelError;

use crate::{ast::QualifiedProcedureName, diagnostics::Diagnostic};

#[derive(Debug, thiserror::Error, Diagnostic)]
pub enum LibraryError {
    #[error("kernel library must contain at least one exported procedure")]
    #[diagnostic()]
    EmptyKernel,
    #[error("invalid export in kernel library: {procedure_path}")]
    InvalidKernelExport { procedure_path: QualifiedProcedureName },
    #[error(transparent)]
    Kernel(#[from] KernelError),
}