pub struct Program {
pub directives: Vec<LoadDirective>,
pub modules: Vec<ModuleDef>,
pub imports: Vec<Import>,
pub items: Vec<ModuleItem>,
pub main_expr: Option<Expr>,
}Expand description
Complete program with modules and main expression
Top-level structure representing a complete Fusabi program with module definitions, imports, and an optional main expression.
Fields§
§directives: Vec<LoadDirective>Load directives (must appear before other declarations)
modules: Vec<ModuleDef>Module definitions
imports: Vec<Import>Import statements
items: Vec<ModuleItem>Top-level items (let bindings, types, etc.)
main_expr: Option<Expr>Main expression to evaluate (if any)
Trait Implementations§
impl StructuralPartialEq for Program
Auto Trait Implementations§
impl Freeze for Program
impl RefUnwindSafe for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnwindSafe for Program
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)