pub struct Msrv(Option<RustcVersion>);
Expand description
Tracks the current MSRV from clippy.toml
, Cargo.toml
or set via #[clippy::msrv]
in late
lint passes, use MsrvStack
for early passes
Tuple Fields§
§0: Option<RustcVersion>
Implementations§
Source§impl Msrv
impl Msrv
Sourcepub fn current(self, cx: &LateContext<'_>) -> Option<RustcVersion>
pub fn current(self, cx: &LateContext<'_>) -> Option<RustcVersion>
Returns the MSRV at the current node
If the crate being linted uses an #[clippy::msrv]
attribute this will search the parent
nodes for that attribute, prefer to run this check after cheaper pattern matching operations
Sourcepub fn meets(self, cx: &LateContext<'_>, required: RustcVersion) -> bool
pub fn meets(self, cx: &LateContext<'_>, required: RustcVersion) -> bool
Checks if a required version from this module is met at the current node
If the crate being linted uses an #[clippy::msrv]
attribute this will search the parent
nodes for that attribute, prefer to run this check after cheaper pattern matching operations
pub fn read_cargo(&mut self, sess: &Session)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Msrv
impl<'de> Deserialize<'de> for Msrv
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
impl Copy for Msrv
Auto Trait Implementations§
impl Freeze for Msrv
impl RefUnwindSafe for Msrv
impl Send for Msrv
impl Sync for Msrv
impl Unpin for Msrv
impl UnwindSafe for Msrv
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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 moreimpl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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: 8 bytes