pub struct RpName<F>where
F: Flavor + 'static,{
pub prefix: Option<Loc<String>>,
pub package: F::Package,
pub parts: Vec<String>,
}
Fields§
§prefix: Option<Loc<String>>
Alias used if the name was imported from another package.
package: F::Package
Package that name belongs to.
parts: Vec<String>
Absolute parts of the name, from the root of the package.
Implementations§
Source§impl<F> RpName<F>where
F: Flavor + 'static,
impl<F> RpName<F>where
F: Flavor + 'static,
pub fn new( prefix: Option<Loc<String>>, package: F::Package, parts: Vec<String>, ) -> Self
pub fn extend<I>(&self, it: I) -> Selfwhere
I: IntoIterator<Item = String>,
pub fn push(&self, part: String) -> Self
pub fn join<S: AsRef<str>>(&self, joiner: S) -> String
Sourcepub fn without_prefix(self) -> Self
pub fn without_prefix(self) -> Self
Convert to a name without a prefix component.
pub fn with_package(self, package: F::Package) -> Self
Sourcepub fn with_parts(self, parts: Vec<String>) -> Self
pub fn with_parts(self, parts: Vec<String>) -> Self
Build a new name out if the given paths.
pub fn is_same(&self, other: &Self) -> bool
Source§impl RpName<CoreFlavor>
impl RpName<CoreFlavor>
Sourcepub fn without_version(self) -> Self
pub fn without_version(self) -> Self
Convert to a name without a version component.
Trait Implementations§
Source§impl<F> Ord for RpName<F>
impl<F> Ord for RpName<F>
Source§impl<F> PartialOrd for RpName<F>
impl<F> PartialOrd for RpName<F>
impl<F> Eq for RpName<F>
impl<F> StructuralPartialEq for RpName<F>where
F: Flavor + 'static,
Auto Trait Implementations§
impl<F> Freeze for RpName<F>
impl<F> RefUnwindSafe for RpName<F>
impl<F> Send for RpName<F>
impl<F> Sync for RpName<F>
impl<F> Unpin for RpName<F>
impl<F> UnwindSafe for RpName<F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more