Segment

Trait Segment 

Source
trait Segment: Debug {
    // Required methods
    fn record_segment_res(
        resolver: &mut CrateResolver<'_, '_>,
        segment: &Self,
        res: Res,
    );
    fn ident(&self) -> Ident;
}
Expand description

Abstraction over a “segment” so we can use CrateResolver::resolve_path_with_ribs with paths from different sources (e.g., surface::PathSegment, surface::ExprPathSegment)

Required Methods§

Source

fn record_segment_res( resolver: &mut CrateResolver<'_, '_>, segment: &Self, res: Res, )

Source

fn ident(&self) -> Ident

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 Segment for ExprPathSegment

Source§

fn record_segment_res( _resolver: &mut CrateResolver<'_, '_>, _segment: &Self, _res: Res, )

Source§

fn ident(&self) -> Ident

Source§

impl Segment for PathSegment

Source§

fn record_segment_res( resolver: &mut CrateResolver<'_, '_>, segment: &Self, res: Res, )

Source§

fn ident(&self) -> Ident

Source§

impl Segment for Ident

Source§

fn record_segment_res( _resolver: &mut CrateResolver<'_, '_>, _segment: &Self, _res: Res, )

Source§

fn ident(&self) -> Ident

Source§

impl Segment for PathSegment<'_>

Source§

fn record_segment_res( _resolver: &mut CrateResolver<'_, '_>, _segment: &Self, _res: Res, )

Source§

fn ident(&self) -> Ident

Implementors§