cl_ast::desugar::squash_groups

Struct SquashGroups

Source
pub struct SquashGroups;
Expand description

Squashes group expressions

Trait Implementations§

Source§

impl Fold for SquashGroups

Source§

fn fold_expr_kind(&mut self, kind: ExprKind) -> ExprKind

Source§

fn fold_span(&mut self, extents: Span) -> Span

Source§

fn fold_mutability(&mut self, mutability: Mutability) -> Mutability

Source§

fn fold_visibility(&mut self, visibility: Visibility) -> Visibility

Source§

fn fold_sym(&mut self, ident: Sym) -> Sym

Source§

fn fold_literal(&mut self, lit: Literal) -> Literal

Source§

fn fold_bool(&mut self, b: bool) -> bool

Source§

fn fold_char(&mut self, c: char) -> char

Source§

fn fold_int(&mut self, i: u128) -> u128

Source§

fn fold_smuggled_float(&mut self, f: u64) -> u64

Source§

fn fold_string(&mut self, s: String) -> String

Source§

fn fold_file(&mut self, f: File) -> File

Source§

fn fold_attrs(&mut self, a: Attrs) -> Attrs

Source§

fn fold_meta(&mut self, m: Meta) -> Meta

Source§

fn fold_meta_kind(&mut self, kind: MetaKind) -> MetaKind

Source§

fn fold_item(&mut self, i: Item) -> Item

Source§

fn fold_item_kind(&mut self, kind: ItemKind) -> ItemKind

Source§

fn fold_alias(&mut self, a: Alias) -> Alias

Source§

fn fold_const(&mut self, c: Const) -> Const

Source§

fn fold_static(&mut self, s: Static) -> Static

Source§

fn fold_module(&mut self, m: Module) -> Module

Source§

fn fold_module_kind(&mut self, m: ModuleKind) -> ModuleKind

Source§

fn fold_function(&mut self, f: Function) -> Function

Source§

fn fold_param(&mut self, p: Param) -> Param

Source§

fn fold_struct(&mut self, s: Struct) -> Struct

Source§

fn fold_struct_kind(&mut self, kind: StructKind) -> StructKind

Source§

fn fold_struct_member(&mut self, m: StructMember) -> StructMember

Source§

fn fold_enum(&mut self, e: Enum) -> Enum

Source§

fn fold_enum_kind(&mut self, kind: EnumKind) -> EnumKind

Source§

fn fold_variant(&mut self, v: Variant) -> Variant

Source§

fn fold_variant_kind(&mut self, kind: VariantKind) -> VariantKind

Source§

fn fold_impl(&mut self, i: Impl) -> Impl

Source§

fn fold_impl_kind(&mut self, kind: ImplKind) -> ImplKind

Source§

fn fold_use(&mut self, u: Use) -> Use

Source§

fn fold_use_tree(&mut self, tree: UseTree) -> UseTree

Source§

fn fold_ty(&mut self, t: Ty) -> Ty

Source§

fn fold_ty_kind(&mut self, kind: TyKind) -> TyKind

Source§

fn fold_ty_array(&mut self, a: TyArray) -> TyArray

Source§

fn fold_ty_slice(&mut self, s: TySlice) -> TySlice

Source§

fn fold_ty_tuple(&mut self, t: TyTuple) -> TyTuple

Source§

fn fold_ty_ref(&mut self, t: TyRef) -> TyRef

Source§

fn fold_ty_fn(&mut self, t: TyFn) -> TyFn

Source§

fn fold_path(&mut self, p: Path) -> Path

Source§

fn fold_path_part(&mut self, p: PathPart) -> PathPart

Source§

fn fold_stmt(&mut self, s: Stmt) -> Stmt

Source§

fn fold_stmt_kind(&mut self, kind: StmtKind) -> StmtKind

Source§

fn fold_semi(&mut self, s: Semi) -> Semi

Source§

fn fold_expr(&mut self, e: Expr) -> Expr

Source§

fn fold_let(&mut self, l: Let) -> Let

Source§

fn fold_pattern(&mut self, p: Pattern) -> Pattern

Source§

fn fold_match(&mut self, m: Match) -> Match

Source§

fn fold_match_arm(&mut self, a: MatchArm) -> MatchArm

Source§

fn fold_assign(&mut self, a: Assign) -> Assign

Source§

fn fold_modify(&mut self, m: Modify) -> Modify

Source§

fn fold_modify_kind(&mut self, kind: ModifyKind) -> ModifyKind

Source§

fn fold_binary(&mut self, b: Binary) -> Binary

Source§

fn fold_binary_kind(&mut self, kind: BinaryKind) -> BinaryKind

Source§

fn fold_unary(&mut self, u: Unary) -> Unary

Source§

fn fold_unary_kind(&mut self, kind: UnaryKind) -> UnaryKind

Source§

fn fold_cast(&mut self, cast: Cast) -> Cast

Source§

fn fold_member(&mut self, m: Member) -> Member

Source§

fn fold_member_kind(&mut self, kind: MemberKind) -> MemberKind

Source§

fn fold_index(&mut self, i: Index) -> Index

Source§

fn fold_structor(&mut self, s: Structor) -> Structor

Source§

fn fold_fielder(&mut self, f: Fielder) -> Fielder

Source§

fn fold_array(&mut self, a: Array) -> Array

Source§

fn fold_array_rep(&mut self, a: ArrayRep) -> ArrayRep

Source§

fn fold_addrof(&mut self, a: AddrOf) -> AddrOf

Source§

fn fold_block(&mut self, b: Block) -> Block

Source§

fn fold_group(&mut self, g: Group) -> Group

Source§

fn fold_tuple(&mut self, t: Tuple) -> Tuple

Source§

fn fold_while(&mut self, w: While) -> While

Source§

fn fold_if(&mut self, i: If) -> If

Source§

fn fold_for(&mut self, f: For) -> For

Source§

fn fold_else(&mut self, e: Else) -> Else

Source§

fn fold_break(&mut self, b: Break) -> Break

Source§

fn fold_return(&mut self, r: Return) -> Return

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.