pub(crate) struct UseTree {
pub(crate) path: Vec<UseSegment>,
pub(crate) span: Span,
pub(crate) list_item: Option<ListItem>,
visibility: Option<Visibility>,
attrs: Option<AttrVec>,
}
Fields§
§path: Vec<UseSegment>
§span: Span
§list_item: Option<ListItem>
§visibility: Option<Visibility>
§attrs: Option<AttrVec>
Implementations§
Source§impl UseTree
impl UseTree
pub(crate) fn rewrite_top_level( &self, context: &RewriteContext<'_>, shape: Shape, ) -> Result<String, RewriteError>
fn from_path(path: Vec<UseSegment>, span: Span) -> UseTree
pub(crate) fn from_ast_with_normalization( context: &RewriteContext<'_>, item: &Item, ) -> Option<UseTree>
fn from_ast( context: &RewriteContext<'_>, a: &UseTree, list_item: Option<ListItem>, visibility: Option<Visibility>, opt_lo: Option<BytePos>, attrs: Option<AttrVec>, ) -> UseTree
pub(crate) fn normalize(self) -> UseTree
fn has_comment(&self) -> bool
fn contains_comment(&self) -> bool
fn same_visibility(&self, other: &UseTree) -> bool
fn flatten(self, import_granularity: ImportGranularity) -> Vec<UseTree>
fn merge(&mut self, other: &UseTree, merge_by: SharedPrefix)
Sourcefn nest_trailing_self(self) -> UseTree
fn nest_trailing_self(self) -> UseTree
If this tree ends in ::self
, rewrite it to ::{self}
.
Trait Implementations§
Source§impl Ord for UseTree
impl Ord for UseTree
Source§impl PartialOrd for UseTree
impl PartialOrd for UseTree
Source§impl Rewrite for UseTree
impl Rewrite for UseTree
Source§fn rewrite(&self, context: &RewriteContext<'_>, shape: Shape) -> Option<String>
fn rewrite(&self, context: &RewriteContext<'_>, shape: Shape) -> Option<String>
Rewrite self into shape.
fn rewrite_result( &self, context: &RewriteContext<'_>, shape: Shape, ) -> Result<String, RewriteError>
impl Eq for UseTree
Auto Trait Implementations§
impl Freeze for UseTree
impl !RefUnwindSafe for UseTree
impl !Send for UseTree
impl !Sync for UseTree
impl Unpin for UseTree
impl !UnwindSafe for UseTree
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 160 bytes