pub enum SurfaceForm {
Symbol {
span: Span,
name: String,
},
Number {
span: Span,
value: i64,
},
String {
span: Span,
value: String,
},
List {
span: Span,
elements: Vec<SurfaceForm>,
},
}Expand description
Surface Forms - parsed S-expressions before macro expansion
Each variant includes a Span tracking its source location for error reporting and debugging.
Variants§
Symbol
A symbol (identifier, operator, etc.)
Number
A numeric literal
String
A string literal
List
A list (parenthesized expression)
Implementations§
Trait Implementations§
Source§impl Clone for SurfaceForm
impl Clone for SurfaceForm
Source§fn clone(&self) -> SurfaceForm
fn clone(&self) -> SurfaceForm
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SurfaceForm
impl RefUnwindSafe for SurfaceForm
impl Send for SurfaceForm
impl Sync for SurfaceForm
impl Unpin for SurfaceForm
impl UnwindSafe for SurfaceForm
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