Skip to content

Commit d0b15f1

Browse files
committed
Swap Msrv from Vec to SmallVec
1 parent 31f6679 commit d0b15f1

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

‎clippy_config/src/lib.rs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ extern crate rustc_driver;
2020
externcrate rustc_errors;
2121
externcrate rustc_session;
2222
externcrate rustc_span;
23+
externcrate smallvec;
2324

2425
mod conf;
2526
mod metadata;

‎clippy_config/src/msrvs.rs‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use rustc_attr::parse_version;
33
use rustc_session::{RustcVersion,Session};
44
use rustc_span::{Symbol, sym};
55
use serde::Deserialize;
6+
use smallvec::{SmallVec, smallvec};
67
use std::fmt;
78

89
macro_rules! msrv_aliases {
@@ -67,7 +68,7 @@ msrv_aliases! {
6768
/// Tracks the current MSRV from `clippy.toml`, `Cargo.toml` or set via `#[clippy::msrv]`
6869
#[derive(Debug,Clone)]
6970
pubstructMsrv{
70-
stack:Vec<RustcVersion>,
71+
stack:SmallVec<[RustcVersion;2]>,
7172
}
7273

7374
impl fmt::DisplayforMsrv{
@@ -87,14 +88,14 @@ impl<'de> Deserialize<'de> for Msrv {
8788
{
8889
let v = String::deserialize(deserializer)?;
8990
parse_version(Symbol::intern(&v))
90-
.map(|v| Msrv{stack:vec![v]})
91+
.map(|v| Msrv{stack:smallvec![v]})
9192
.ok_or_else(|| serde::de::Error::custom("not a valid Rust version"))
9293
}
9394
}
9495

9596
implMsrv{
9697
pubfnempty() -> Msrv{
97-
Msrv{stack:Vec::new()}
98+
Msrv{stack:SmallVec::new()}
9899
}
99100

100101
pubfnread_cargo(&mutself,sess:&Session){
@@ -103,7 +104,7 @@ impl Msrv {
103104
.and_then(|v| parse_version(Symbol::intern(&v)));
104105

105106
match(self.current(), cargo_msrv){
106-
(None,Some(cargo_msrv)) => self.stack = vec![cargo_msrv],
107+
(None,Some(cargo_msrv)) => self.stack = smallvec![cargo_msrv],
107108
(Some(clippy_msrv),Some(cargo_msrv)) => {
108109
if clippy_msrv != cargo_msrv {
109110
sess.dcx().warn(format!(

0 commit comments

Comments
 (0)