Skip to main content

QualifiedProcedureName

Struct QualifiedProcedureName 

Source
pub struct QualifiedProcedureName { /* private fields */ }
Expand description

Represents a qualified procedure name, e.g. std::math::u64::add, parsed into it’s constituent Path and ProcedureName components.

A qualified procedure name can be context-sensitive, i.e. the module path might refer to an imported

Implementations§

Source§

impl QualifiedProcedureName

Source

pub fn new( module: impl AsRef<Path>, name: ProcedureName, ) -> QualifiedProcedureName

Create a new QualifiedProcedureName with the given fully-qualified module path and procedure name.

Source

pub fn with_span(self, span: SourceSpan) -> QualifiedProcedureName

Source

pub fn namespace(&self) -> &Path

Get the module/namespace of this procedure

Source

pub fn name(&self) -> &str

Get the name of this procedure as a str

Source

pub fn as_path(&self) -> &Path

Source

pub fn to_spanned_path(&self) -> Span<&Path>

Get this QualifiedProcedureName as a Span<&Path>

Source

pub fn into_inner(self) -> Arc<Path>

Methods from Deref<Target = Path>§

Source

pub const MAX_COMPONENT_LENGTH: usize

Source

pub const EMPTY: &'static Path

Source

pub const KERNEL_PATH: &'static str = "$kernel"

Source

pub const ABSOLUTE_KERNEL_PATH: &'static str = "::$kernel"

Source

pub const KERNEL: &'static Path

Source

pub const EXEC_PATH: &'static str = "$exec"

Source

pub const ABSOLUTE_EXEC_PATH: &'static str = "::$exec"

Source

pub const EXEC: &'static Path

Source

pub fn as_str(&self) -> &str

Source

pub fn as_ident(&self) -> Option<Ident>

Get an Ident that is equivalent to this Path, so long as the path has only a single component.

Returns None if the path cannot be losslessly represented as a single component.

Source

pub fn to_path_buf(&self) -> PathBuf

Convert this Path to an owned PathBuf

Source

pub fn is_empty(&self) -> bool

Returns true if this path is empty (i.e. has no components)

Source

pub fn len(&self) -> usize

Returns the number of components in the path

Source

pub fn char_len(&self) -> usize

Return the size of the path in chars when displayed as a string

Source

pub fn byte_len(&self) -> usize

Return the size of the path in bytes when displayed as a string

Source

pub fn is_absolute(&self) -> bool

Returns true if this path is an absolute path

Source

pub fn to_absolute(&self) -> Cow<'_, Path>

Make this path absolute, if not already

NOTE: This does not resolve the path, it simply ensures the path has the root prefix

Source

pub fn to_relative(&self) -> &Path

Strip the root prefix from this path, if it has one.

Source

pub fn parent(&self) -> Option<&Path>

Returns the Path without its final component, if there is one.

This means it may return an empty Path for relative paths with a single component.

Returns None if the path terminates with the root prefix, or if it is empty.

Source

pub fn components(&self) -> Iter<'_>

Returns an iterator over all components of the path.

Source

pub fn first(&self) -> Option<&str>

Get the first non-root component of this path as a str

Returns None if the path is empty, or consists only of the root prefix.

Source

pub fn last(&self) -> Option<&str>

Get the first non-root component of this path as a str

Returns None if the path is empty, or consists only of the root prefix.

Source

pub fn split_first(&self) -> Option<(&str, &Path)>

Splits this path on the first non-root component, returning it and a new Path of the remaining components.

Returns None if there are no components to split

Source

pub fn split_last(&self) -> Option<(&str, &Path)>

Splits this path on the last component, returning it and a new Path of the remaining components.

Returns None if there are no components to split

Source

pub fn is_kernel_path(&self) -> bool

Returns true if this path is for the root kernel module.

Source

pub fn is_in_kernel(&self) -> bool

Returns true if this path is for the root kernel module or an item in it

Source

pub fn is_exec_path(&self) -> bool

Returns true if this path is for an executable module.

Source

pub fn is_in_exec(&self) -> bool

Returns true if this path is for the executable module or an item in it

Source

pub fn starts_with<Prefix>(&self, prefix: &Prefix) -> bool
where Path: StartsWith<Prefix>, Prefix: ?Sized,

Returns true if the current path, sans root component, starts with prefix

The matching semantics of Prefix depend on the implementation of StartsWith<Prefix>, in particular, if Prefix is str, then the prefix is matched against the first non-root component of self, regardless of whether the string contains path delimiters (i.e. ::).

See the StartsWith trait for more details.

Source

pub fn starts_with_exactly<Prefix>(&self, prefix: &Prefix) -> bool
where Path: StartsWith<Prefix>, Prefix: ?Sized,

Returns true if the current path, including root component, starts with prefix

The matching semantics of Prefix depend on the implementation of StartsWith<Prefix>, in particular, if Prefix is str, then the prefix is matched against the first component of self, regardless of whether the string contains path delimiters (i.e. ::).

See the StartsWith trait for more details.

Source

pub fn strip_prefix<'a>(&'a self, prefix: &Path) -> Option<&'a Path>

Strips prefix from self, or returns None if self does not start with prefix.

NOTE: Prefixes must be exact, i.e. if you call path.strip_prefix(prefix) and path is relative but prefix is absolute, then this will return None. The same is true if path is absolute and prefix is relative.

Source

pub fn join<P>(&self, other: &P) -> PathBuf
where Path: Join<P>, P: ?Sized,

Create an owned PathBuf with path adjoined to self.

If path is absolute, it replaces the current path.

The semantics of how other is joined to self in the resulting path depends on the implementation of Join used. The implementation for Path and PathBuf joins all components of other to self; while the implementation for [prim@str], string-like values, and identifiers/symbols joins just a single component. You must be careful to ensure that if you are passing a string here, that you specifically want to join it as a single component, or the resulting path may be different than you expect. It is recommended that you use Path::new(&string)` if you want to be explicit about treating a string-like value as a multi-component path.

Source

pub fn canonicalize(&self) -> Result<PathBuf, PathError>

Canonicalize this path by ensuring that all components are in canonical form.

Canonical form dictates that:

  • A component is quoted only if it requires quoting, and unquoted otherwise
  • Is made absolute if relative and the first component is $kernel or $exec

Returns Err if the path is invalid

Trait Implementations§

Source§

impl AsRef<Path> for QualifiedProcedureName

Source§

fn as_ref(&self) -> &Path

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for QualifiedProcedureName

Source§

fn clone(&self) -> QualifiedProcedureName

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for QualifiedProcedureName

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Deref for QualifiedProcedureName

Source§

type Target = Path

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<QualifiedProcedureName as Deref>::Target

Dereferences the value.
Source§

impl Display for QualifiedProcedureName

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl From<&Path> for QualifiedProcedureName

Source§

fn from(path: &Path) -> QualifiedProcedureName

Converts to this type from the input type.
Source§

impl From<Arc<Path>> for QualifiedProcedureName

Source§

fn from(path: Arc<Path>) -> QualifiedProcedureName

Converts to this type from the input type.
Source§

impl From<PathBuf> for QualifiedProcedureName

Source§

fn from(path: PathBuf) -> QualifiedProcedureName

Converts to this type from the input type.
Source§

impl FromStr for QualifiedProcedureName

Source§

type Err = Report

The associated error which can be returned from parsing.
Source§

fn from_str( s: &str, ) -> Result<QualifiedProcedureName, <QualifiedProcedureName as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Join<QualifiedProcedureName> for Path

Source§

fn join(&self, other: &QualifiedProcedureName) -> PathBuf

Joins other to self, producing a new PathBuf containing the joined path. Read more
Source§

impl Ord for QualifiedProcedureName

Source§

fn cmp(&self, other: &QualifiedProcedureName) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for QualifiedProcedureName

Source§

fn eq(&self, other: &QualifiedProcedureName) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for QualifiedProcedureName

Source§

fn partial_cmp(&self, other: &QualifiedProcedureName) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl PrettyPrint for QualifiedProcedureName

Source§

fn render(&self) -> Document

The core of the PrettyPrint functionality. Read more
Source§

fn to_pretty_string(&self) -> String

Produce a String containing the results of pretty-printing this object. Read more
Source§

fn pretty_print(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Pretty-print this object to the given core::fmt::Formatter. Read more
Source§

impl Spanned for QualifiedProcedureName

Source§

impl TryFrom<&str> for QualifiedProcedureName

Source§

type Error = Report

The type returned in the event of a conversion error.
Source§

fn try_from( name: &str, ) -> Result<QualifiedProcedureName, <QualifiedProcedureName as TryFrom<&str>>::Error>

Performs the conversion.
Source§

impl TryFrom<String> for QualifiedProcedureName

Source§

type Error = Report

The type returned in the event of a conversion error.
Source§

fn try_from( name: String, ) -> Result<QualifiedProcedureName, <QualifiedProcedureName as TryFrom<String>>::Error>

Performs the conversion.
Source§

impl Eq for QualifiedProcedureName

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more