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".

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§