Skip to main content

ToDef

Trait ToDef 

Source
pub trait ToDef<'db>: AstNode + Clone {
    type Def;

    // Required method
    fn to_def(
        sema: &SemanticsImpl<'db>,
        src: InFile<&Self>,
    ) -> Option<Self::Def>;
}

Required Associated Types§

Required Methods§

Source

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

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.

Implementations on Foreign Types§

Source§

impl<'db> ToDef<'db> for Adt

Source§

type Def = Adt

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for AsmOperandNamed

Source§

type Def = InlineAsmOperand

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Const

Source§

type Def = Const

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for ConstParam

Source§

type Def = ConstParam

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Enum

Source§

type Def = Enum

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for ExternBlock

Source§

type Def = ExternBlock

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for ExternCrate

Source§

type Def = ExternCrateDecl

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Fn

Source§

type Def = Function

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for GenericParam

Source§

type Def = GenericParam

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for IdentPat

Source§

type Def = Local<'db>

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Impl

Source§

type Def = Impl

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Label

Source§

type Def = Label

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for LifetimeParam

Source§

type Def = LifetimeParam

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Macro

Source§

type Def = Macro

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for MacroCall

Source§

type Def = MacroCallId

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Module

Source§

type Def = Module

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for RecordField

Source§

type Def = Field

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for SelfParam

Source§

type Def = Local<'db>

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for SourceFile

Source§

type Def = Module

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Static

Source§

type Def = Static

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Struct

Source§

type Def = Struct

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Trait

Source§

type Def = Trait

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for TupleField

Source§

type Def = Field

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for TypeAlias

Source§

type Def = TypeAlias

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for TypeParam

Source§

type Def = TypeParam

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Union

Source§

type Def = Union

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Source§

impl<'db> ToDef<'db> for Variant

Source§

type Def = EnumVariant

Source§

fn to_def(sema: &SemanticsImpl<'db>, src: InFile<&Self>) -> Option<Self::Def>

Implementors§