pub enum ModuleItem {
Let(Option<String>, Expr),
LetRec(Vec<(String, Expr)>),
TypeDef(TypeDefinition),
Module(Box<ModuleDef>),
}Expand description
Items that can appear inside a module
Variants§
Let(Option<String>, Expr)
Let binding: let x = expr (or let _ = expr for discard)
LetRec(Vec<(String, Expr)>)
Recursive let binding: let rec f = expr
TypeDef(TypeDefinition)
Type definition (record or DU)
Module(Box<ModuleDef>)
Nested module
Trait Implementations§
Source§impl Clone for ModuleItem
impl Clone for ModuleItem
Source§fn clone(&self) -> ModuleItem
fn clone(&self) -> ModuleItem
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ModuleItem
impl Debug for ModuleItem
Source§impl Display for ModuleItem
impl Display for ModuleItem
Source§impl PartialEq for ModuleItem
impl PartialEq for ModuleItem
impl StructuralPartialEq for ModuleItem
Auto Trait Implementations§
impl Freeze for ModuleItem
impl RefUnwindSafe for ModuleItem
impl Send for ModuleItem
impl Sync for ModuleItem
impl Unpin for ModuleItem
impl UnwindSafe for ModuleItem
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)