Skip to content

Commit 0c1e33a

Browse files
committed
deps: upgrade to rustwide 0.4.0
1 parent 3bf8744 commit 0c1e33a

File tree

4 files changed

+37
-59
lines changed

4 files changed

+37
-59
lines changed

Cargo.lock

Lines changed: 13 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ hmac = "0.7"
6363
sha-1 = "0.8"
6464
rust_team_data = { git = "https://github.com/rust-lang/team" }
6565
systemstat = "0.1.4"
66-
rustwide = { version = "0.3.1", features = ["unstable"] }
66+
rustwide = { version = "0.4.0", features = ["unstable"] }
6767
percent-encoding = "2.1.0"
6868
remove_dir_all = "0.5.2"
6969
ctrlc = "3.1.3"

src/server/routes/webhooks/commands.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,13 @@ pub fn run(
6363
{
6464
try_build = Some(build.merge_sha.clone());
6565
detected_start = Some(Toolchain {
66-
source: RustwideToolchain::CI {
67-
sha: build.base_sha.into(),
68-
alt: false,
69-
},
66+
source: RustwideToolchain::ci(&build.base_sha, false),
7067
rustflags: None,
7168
ci_try: false,
7269
patches: Vec::new(),
7370
});
7471
detected_end = Some(Toolchain {
75-
source: RustwideToolchain::CI {
76-
sha: build.merge_sha.into(),
77-
alt: false,
78-
},
72+
source: RustwideToolchain::ci(&build.merge_sha, false),
7973
rustflags: None,
8074
ci_try: true,
8175
patches: Vec::new(),

src/toolchain.rs

Lines changed: 21 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,22 @@
11
use crate::prelude::*;
22
use crate::utils;
33
use rustwide::Toolchain as RustwideToolchain;
4-
use std::borrow::Cow;
54
use std::fmt;
65
use std::str::FromStr;
76

87
#[cfg(test)]
98
lazy_static! {
109
/// This toolchain is used during internal tests, and must be different than TEST_TOOLCHAIN
1110
pub(crate) static ref MAIN_TOOLCHAIN: Toolchain = Toolchain {
12-
source: RustwideToolchain::Dist {
13-
name: Cow::Borrowed("stable"),
14-
},
11+
source: RustwideToolchain::dist("stable"),
1512
rustflags: None,
1613
ci_try: false,
1714
patches: Vec::new(),
1815
};
1916

2017
/// This toolchain is used during internal tests, and must be different than MAIN_TOOLCHAIN
2118
pub(crate) static ref TEST_TOOLCHAIN: Toolchain = Toolchain {
22-
source: RustwideToolchain::Dist {
23-
name: Cow::Borrowed("beta"),
24-
},
19+
source: RustwideToolchain::dist("beta"),
2520
rustflags: None,
2621
ci_try: false,
2722
patches: Vec::new(),
@@ -54,17 +49,17 @@ impl std::ops::Deref for Toolchain {
5449

5550
impl fmt::Display for Toolchain {
5651
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
57-
match &self.source {
58-
RustwideToolchain::Dist { name } => write!(f, "{}", name)?,
59-
RustwideToolchain::CI { sha, .. } => {
60-
if self.ci_try {
61-
write!(f, "try#{}", sha)?;
62-
} else {
63-
write!(f, "master#{}", sha)?;
64-
}
52+
if let Some(dist) = self.source.as_dist() {
53+
write!(f, "{}", dist.name())?;
54+
} else if let Some(ci) = self.source.as_ci() {
55+
if self.ci_try {
56+
write!(f, "try#{}", ci.sha())?;
57+
} else {
58+
write!(f, "master#{}", ci.sha())?;
6559
}
66-
_ => panic!("unsupported rustwide toolchain"),
67-
};
60+
} else {
61+
panic!("unsupported rustwide toolchain");
62+
}
6863

6964
if let Some(ref flag) = self.rustflags {
7065
write!(f, "+rustflags={}", flag)?;
@@ -99,31 +94,23 @@ impl FromStr for Toolchain {
9994
let source = if let Some(hash_idx) = raw_source.find('#') {
10095
let (source_name, sha_with_hash) = raw_source.split_at(hash_idx);
10196

102-
let sha = (&sha_with_hash[1..]).to_string();
97+
let sha = &sha_with_hash[1..];
10398
if sha.is_empty() {
10499
return Err(ToolchainParseError::EmptyName);
105100
}
106101

107102
match source_name {
108103
"try" => {
109104
ci_try = true;
110-
RustwideToolchain::CI {
111-
sha: Cow::Owned(sha),
112-
alt: false,
113-
}
105+
RustwideToolchain::ci(sha, false)
114106
}
115-
"master" => RustwideToolchain::CI {
116-
sha: Cow::Owned(sha),
117-
alt: false,
118-
},
107+
"master" => RustwideToolchain::ci(sha, false),
119108
name => return Err(ToolchainParseError::InvalidSourceName(name.to_string())),
120109
}
121110
} else if raw_source.is_empty() {
122111
return Err(ToolchainParseError::EmptyName);
123112
} else {
124-
RustwideToolchain::Dist {
125-
name: Cow::Owned(raw_source.to_string()),
126-
}
113+
RustwideToolchain::dist(raw_source)
127114
};
128115

129116
let mut rustflags = None;
@@ -254,35 +241,23 @@ mod tests {
254241
// Test valid reprs
255242
test_from_str! {
256243
"stable" => {
257-
source:RustwideToolchain::Dist {
258-
name: "stable".into(),
259-
},
244+
source: RustwideToolchain::dist("stable"),
260245
ci_try: false,
261246
},
262247
"beta-1970-01-01" => {
263-
source: RustwideToolchain::Dist {
264-
name: "beta-1970-01-01".into(),
265-
},
248+
source: RustwideToolchain::dist("beta-1970-01-01"),
266249
ci_try: false,
267250
},
268251
"nightly-1970-01-01" => {
269-
source: RustwideToolchain::Dist {
270-
name: "nightly-1970-01-01".into(),
271-
},
252+
source: RustwideToolchain::dist("nightly-1970-01-01"),
272253
ci_try: false,
273254
},
274255
"master#0000000000000000000000000000000000000000" => {
275-
source: RustwideToolchain::CI {
276-
sha: "0000000000000000000000000000000000000000".into(),
277-
alt: false,
278-
},
256+
source: RustwideToolchain::ci("0000000000000000000000000000000000000000", false),
279257
ci_try: false,
280258
},
281259
"try#0000000000000000000000000000000000000000" => {
282-
source: RustwideToolchain::CI {
283-
sha: "0000000000000000000000000000000000000000".into(),
284-
alt: false,
285-
},
260+
source: RustwideToolchain::ci("0000000000000000000000000000000000000000", false),
286261
ci_try: true,
287262
},
288263
};

0 commit comments

Comments
 (0)