Trait Extractable

Source
pub trait Extractable<R>: Sized {
    // Required methods
    fn wrap(source: &str) -> Cow<'_, str>;
    fn extract(tu: R) -> Option<Self>;
}
Expand description

Part of the syntax tree that can be extracted from a parent tree

Required Methods§

Source

fn wrap(source: &str) -> Cow<'_, str>

Wrap the given source which parses as Self into something that parses as R

Source

fn extract(tu: R) -> Option<Self>

Extract the subtree for Self from a parent tree R

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Extractable<TranslationUnit> for TranslationUnit

Source§

impl Extractable<TranslationUnit> for ArraySpecifier

Source§

impl Extractable<TranslationUnit> for ArraySpecifierDimension

Source§

impl Extractable<TranslationUnit> for ArrayedIdentifier

Source§

impl Extractable<TranslationUnit> for AssignmentOp

Source§

impl Extractable<TranslationUnit> for CaseLabel

Source§

impl Extractable<TranslationUnit> for CompoundStatement

Source§

impl Extractable<TranslationUnit> for Declaration

Source§

impl Extractable<TranslationUnit> for Expr

Source§

impl Extractable<TranslationUnit> for ExprStatement

Source§

impl Extractable<TranslationUnit> for FullySpecifiedType

Source§

impl Extractable<TranslationUnit> for FunIdentifier

Source§

impl Extractable<TranslationUnit> for FunctionDefinition

Source§

impl Extractable<TranslationUnit> for InterpolationQualifier

Source§

impl Extractable<TranslationUnit> for IterationStatement

Source§

impl Extractable<TranslationUnit> for JumpStatement

Source§

impl Extractable<TranslationUnit> for LayoutQualifier

Source§

impl Extractable<TranslationUnit> for PrecisionQualifier

Source§

impl Extractable<TranslationUnit> for Preprocessor

Source§

impl Extractable<TranslationUnit> for SelectionStatement

Source§

impl Extractable<TranslationUnit> for Statement

Source§

impl Extractable<TranslationUnit> for StorageQualifier

Source§

impl Extractable<TranslationUnit> for StructFieldSpecifier

Source§

impl Extractable<TranslationUnit> for StructSpecifier

Source§

impl Extractable<TranslationUnit> for SwitchStatement

Source§

impl Extractable<TranslationUnit> for TypeQualifier

Source§

impl Extractable<TranslationUnit> for TypeSpecifier

Source§

impl Extractable<TranslationUnit> for TypeSpecifierNonArray

Source§

impl Extractable<TranslationUnit> for UnaryOp