pub enum IdrisDecl {
Func(IdrisFunction),
Data(IdrisData),
Record(IdrisRecord),
Interface(IdrisInterface),
Implementation(IdrisImpl),
Namespace(String, Vec<IdrisDecl>),
Mutual(Vec<IdrisDecl>),
Parameters(Vec<(String, IdrisType)>, Vec<IdrisDecl>),
Pragma(String),
Postulate(String, IdrisType, Visibility),
Comment(String),
Blank,
}Expand description
A top-level declaration in an Idris 2 module.
Variants§
Func(IdrisFunction)
A function definition.
Data(IdrisData)
A data declaration.
Record(IdrisRecord)
A record declaration.
Interface(IdrisInterface)
An interface declaration.
Implementation(IdrisImpl)
An implementation block.
Namespace(String, Vec<IdrisDecl>)
A namespace N where block.
Mutual(Vec<IdrisDecl>)
A mutual block for mutually recursive definitions.
Parameters(Vec<(String, IdrisType)>, Vec<IdrisDecl>)
A parameters block: parameters (x : T) where.
Pragma(String)
A % pragma: %name T x, y, z.
Postulate(String, IdrisType, Visibility)
A type-level postulate (axiom).
Comment(String)
A line comment.
Blank
A blank separator.
Implementations§
Trait Implementations§
impl StructuralPartialEq for IdrisDecl
Auto Trait Implementations§
impl Freeze for IdrisDecl
impl RefUnwindSafe for IdrisDecl
impl Send for IdrisDecl
impl Sync for IdrisDecl
impl Unpin for IdrisDecl
impl UnsafeUnpin for IdrisDecl
impl UnwindSafe for IdrisDecl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more