Skip to main content

Migrate

Trait Migrate 

Source
pub trait Migrate<N: ExternalCstNode>: Sized {
    // Required methods
    fn matches(node: &N) -> bool;
    fn migrate(node: N) -> Result<Self, MigrateError>;
}
Expand description

Migrates one typed value from a parser backend’s untyped CST node.

Required Methods§

Source

fn matches(node: &N) -> bool

Reports whether node can migrate this typed value.

Source

fn migrate(node: N) -> Result<Self, MigrateError>

Converts a matching external node into typed syntax.

§Errors

Returns a MigrateError when the node or its children do not match the requested typed syntax.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<N> Migrate<N> for Adj
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for AngleBarList
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ArgumentListContent
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ArgumentListContentPack
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Array
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for AssignmentArgument
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for AssignmentList
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for AssignmentListContent
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for AssignmentListContentPack
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for AugmentedOperator
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for BinaryOperator
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Cell
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Component
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for DoStep
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for EOC
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for EOF
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ElseClause
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Empty
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for EscapeSequence
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Expr
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssign
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignAugmented
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignEvaluated
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignInstall
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignInstallMethod
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignInstallNew
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignInstallOp
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignOp
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignParallel
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignParallelGlobal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignParallelLocal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignSimple
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignSimpleGlobal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprAssignSimpleLocal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprCatch
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprCollection
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprControl
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprControlBreak
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprControlContinue
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprControlReturn
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprDebug
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprDebugBreakpoint
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprDebugFinish
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprDebugShield
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprDebugStep
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprDebugTest
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprFor
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprForBare
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprForIn
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprForRange
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprIf
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprLambda
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprLambdaList
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprLambdaVariadic
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprLiteral
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprNew
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOp
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpBin
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpBinAdj
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpBinIndex
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpBinMember
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpBinMemberDot
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpBinMemberOptional
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpBinRegular
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpPostfix
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOpPrefix
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprOption
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprPack
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprProfile
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprProfileElapsedTime
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprProfileElapsedTiming
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprProfileProfile
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprProfileTime
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprProfileTiming
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprQuote
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprQuoteGlobal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprQuoteLocal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprQuoteSymbol
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprQuoteThreadLocal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprQuoteThreadVariable
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprThrow
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprTrap
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprTry
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ExprWhile
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for FloatLiteral
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for FromInstance
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Holder
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for IntegerLiteral
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for List
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ListStep
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for LoopBody
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for OfClass
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for PackedContent
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for PostfixOperator
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for PrefixOperator
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for RangeBoundFrom
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for RangeBoundTo
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for RawStringContent
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for RawStringElement
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for RawStringLiteral
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Sequence
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for SourceFile
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Statement
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for StringContent
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for StringElement
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for StringLiteral
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for Symbol
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for ThenClause
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for TryFallback
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for TryFallbackExcept
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for TypeAnnotation
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for WhenCondition
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Add
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AddAdd
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AddAddEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AddEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Amp
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AmpEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _And
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Att
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AttAtt
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AttAttEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AttAttQsm
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AttAttQsmEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _AttEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Bng
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _BngEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Box
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _BoxEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Break
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Breakpoint
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Bsl
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _BslBsl
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _BslBslEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _BslEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Catch
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Cdt
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CdtEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Cma
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Col
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _ColEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Continue
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Crt
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtBng
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtCrt
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtCrtEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtGstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtLst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtLstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtMul
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtMulMul
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtMulMulEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _CrtTld
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Do
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Dot
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _DotDot
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _DotDotEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _DotDotLst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _DotDotLstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _DotQsm
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _ElapsedTime
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _ElapsedTiming
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Else
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Eql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlBngEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlEqlEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlEqlEqlGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlEqlEqlGstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlEqlGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlEqlGstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _EqlGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Except
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Finish
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _For
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _From
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Global
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Graded
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Gst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _GstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _GstGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _GstGstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Hsh
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _HshQsm
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _If
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _In
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _List
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Local
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Lst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstEqlEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstEqlEqlEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstEqlEqlGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstEqlEqlGstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstLst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstLstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _LstSub
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Mod
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _ModEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Mul
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _MulEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _MulMul
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _MulMulEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _New
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Not
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Of
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Or
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Pip
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _PipEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _PipPip
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _PipPipEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _PipSub
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _PipSubEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _PipUbs
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _PipUbsEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Profile
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Qsm
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _QsmQsm
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _QsmQsmEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Return
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Scl
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Sfp
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _SfpEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Shield
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Slh
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _SlhEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _SlhSlh
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _SlhSlhEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Step
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Sub
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _SubEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _SubGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Symbol
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Test
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Then
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _ThreadLocal
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _ThreadVariable
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Throw
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Time
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Timing
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Tld
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _TldEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _To
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Trap
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Try
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Ubs
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsBng
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsGst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsGstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsLst
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsLstEql
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsMul
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _UbsTld
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _When
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _While
where N: ExternalCstNode,

Source§

impl<N> Migrate<N> for _Xor
where N: ExternalCstNode,