[−][src]Struct minitt::ast::Declaration
Decl
in Mini-TT.
$D ::= p:A=M\ |\ \textsf{rec}\ p:A=M$
It's supposed to be an enum
because it can be rec or non-rec, but for
coding convenience I've made it a struct with a bool
member
(is_recursive
) to indicate whether it's recursive.
Fields
pattern: Pattern
$p$ in syntax.
prefix_parameters: Vec<Typed>
This is an extension -- declarations can be prefixed with some parameters.
signature: Expression
$A$ in syntax.
body: Expression
$M$ in syntax.
is_recursive: bool
Whether the $\textsf{rec}$ is present.
Methods
impl Declaration
[src]
pub fn new(
pattern: Pattern,
prefix_parameters: Vec<Typed>,
signature: Expression,
body: Expression,
is_recursive: bool
) -> Self
[src]
pattern: Pattern,
prefix_parameters: Vec<Typed>,
signature: Expression,
body: Expression,
is_recursive: bool
) -> Self
Constructor
pub fn simple(
pattern: Pattern,
prefix_parameters: Vec<Typed>,
signature: Expression,
body: Expression
) -> Self
[src]
pattern: Pattern,
prefix_parameters: Vec<Typed>,
signature: Expression,
body: Expression
) -> Self
Non-recursive declarations
pub fn recursive(
pattern: Pattern,
prefix_parameters: Vec<Typed>,
signature: Expression,
body: Expression
) -> Self
[src]
pattern: Pattern,
prefix_parameters: Vec<Typed>,
signature: Expression,
body: Expression
) -> Self
Recursive declarations
Trait Implementations
impl Clone for Declaration
[src]
fn clone(&self) -> Declaration
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Eq for Declaration
[src]
fn assert_receiver_is_total_eq(&self)
[src]
impl PartialEq<Declaration> for Declaration
[src]
fn eq(&self, other: &Declaration) -> bool
[src]
fn ne(&self, other: &Declaration) -> bool
[src]
impl Debug for Declaration
[src]
impl Display for Declaration
[src]
Auto Trait Implementations
impl !Send for Declaration
impl !Sync for Declaration
impl Unpin for Declaration
impl !UnwindSafe for Declaration
impl !RefUnwindSafe for Declaration
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,