pub struct ShapeElement {
pub path: Path,
pub splat: Option<Splat>,
pub nested: Option<Vec<ShapeElement>>,
pub compexpr: Option<Expr>,
pub op: ShapeOp,
pub filter: Option<Expr>,
pub order_by: Vec<SortExpr>,
pub offset: Option<Expr>,
pub limit: Option<Expr>,
pub marker_offset: Option<usize>,
}Fields§
§path: PathRelative path being shaped, e.g. .name or .posts.
splat: Option<Splat>When set, this element is a wildcard expansion rather than a named field.
nested: Option<Vec<ShapeElement>>Nested shape for links: .posts { title, body }.
compexpr: Option<Expr>Computed override or assignment: .total := .price * .qty or friends += expr.
op: ShapeOpAssignment operator (only meaningful for UPDATE SET elements on multi-links).
filter: Option<Expr>Per-element link modifiers.
order_by: Vec<SortExpr>§offset: Option<Expr>§limit: Option<Expr>§marker_offset: Option<usize>Source byte offset of this element’s first token — used only to place
per-pointer analyze markers in the echoed query text (see
analyze.rs); not populated (and not needed) outside that path.
Implementations§
Trait Implementations§
Source§impl Clone for ShapeElement
impl Clone for ShapeElement
Source§impl Debug for ShapeElement
impl Debug for ShapeElement
Source§impl PartialEq for ShapeElement
impl PartialEq for ShapeElement
impl StructuralPartialEq for ShapeElement
Auto Trait Implementations§
impl Freeze for ShapeElement
impl RefUnwindSafe for ShapeElement
impl Send for ShapeElement
impl Sync for ShapeElement
impl Unpin for ShapeElement
impl UnsafeUnpin for ShapeElement
impl UnwindSafe for ShapeElement
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.