Skip to content

Commit 4a1783b

Browse files
committed
fix chrono depracation errors
1 parent 343ffbf commit 4a1783b

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

src/utils/rustc_version.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub fn parse_rustc_version<S: AsRef<str>>(version: S) -> Result<String> {
2121
))
2222
}
2323

24-
fn parse_rustc_date<S: AsRef<str>>(version: S) -> Result<Date<Utc>> {
24+
fn parse_rustc_date<S: AsRef<str>>(version: S) -> Result<NaiveDate> {
2525
static RE: Lazy<Regex> = Lazy::new(|| Regex::new(r" (\d+)-(\d+)-(\d+)\)$").unwrap());
2626

2727
let cap = RE
@@ -32,19 +32,20 @@ fn parse_rustc_date<S: AsRef<str>>(version: S) -> Result<Date<Utc>> {
3232
let month = cap.get(2).unwrap().as_str();
3333
let day = cap.get(3).unwrap().as_str();
3434

35-
Ok(Utc.ymd(
35+
NaiveDate::from_ymd_opt(
3636
year.parse::<i32>().unwrap(),
3737
month.parse::<u32>().unwrap(),
3838
day.parse::<u32>().unwrap(),
39-
))
39+
)
40+
.ok_or_else(|| anyhow!("date out of range"))
4041
}
4142

4243
/// Picks the correct "rustdoc.css" static file depending on which rustdoc version was used to
4344
/// generate this version of this crate.
4445
pub fn get_correct_docsrs_style_file(version: &str) -> Result<String> {
4546
let date = parse_rustc_date(version)?;
4647
// This is the date where https://github.com/rust-lang/rust/pull/91356 was merged.
47-
if Utc.ymd(2021, 12, 5) < date {
48+
if NaiveDate::from_ymd_opt(2021, 12, 5).unwrap() < date {
4849
// If this is the new rustdoc layout, we need the newer docs.rs CSS file.
4950
Ok("rustdoc-2021-12-05.css".to_owned())
5051
} else {

src/web/releases.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1135,27 +1135,27 @@ mod tests {
11351135
.name("crate_that_succeeded_with_github")
11361136
.version("0.1.0")
11371137
.github_stats("some/repo", 66, 22, 11)
1138-
.release_time(Utc.ymd(2020, 4, 16).and_hms(4, 33, 50))
1138+
.release_time(Utc.with_ymd_and_hms(2020, 4, 16, 4, 33, 50).unwrap())
11391139
.create()?;
11401140

11411141
env.fake_release()
11421142
.name("crate_that_succeeded_with_github")
11431143
.version("0.2.0")
11441144
.github_stats("some/repo", 66, 22, 11)
1145-
.release_time(Utc.ymd(2020, 4, 20).and_hms(4, 33, 50))
1145+
.release_time(Utc.with_ymd_and_hms(2020, 4, 20, 4, 33, 50).unwrap())
11461146
.create()?;
11471147

11481148
env.fake_release()
11491149
.name("crate_that_succeeded_without_github")
1150-
.release_time(Utc.ymd(2020, 5, 16).and_hms(4, 33, 50))
1150+
.release_time(Utc.with_ymd_and_hms(2020, 5, 16, 4, 33, 50).unwrap())
11511151
.version("0.2.0")
11521152
.create()?;
11531153

11541154
env.fake_release()
11551155
.name("crate_that_failed_with_github")
11561156
.version("0.1.0")
11571157
.github_stats("some/repo", 33, 22, 11)
1158-
.release_time(Utc.ymd(2020, 6, 16).and_hms(4, 33, 50))
1158+
.release_time(Utc.with_ymd_and_hms(2020, 6, 16, 4, 33, 50).unwrap())
11591159
.build_result_failed()
11601160
.create()?;
11611161

@@ -1180,27 +1180,27 @@ mod tests {
11801180
.name("crate_that_succeeded_with_github")
11811181
.version("0.1.0")
11821182
.github_stats("some/repo", 66, 22, 11)
1183-
.release_time(Utc.ymd(2020, 4, 16).and_hms(4, 33, 50))
1183+
.release_time(Utc.with_ymd_and_hms(2020, 4, 16, 4, 33, 50).unwrap())
11841184
.create()?;
11851185

11861186
env.fake_release()
11871187
.name("crate_that_succeeded_with_github")
11881188
.version("0.2.0")
11891189
.github_stats("some/repo", 66, 22, 11)
1190-
.release_time(Utc.ymd(2020, 4, 20).and_hms(4, 33, 50))
1190+
.release_time(Utc.with_ymd_and_hms(2020, 4, 20, 4, 33, 50).unwrap())
11911191
.create()?;
11921192

11931193
env.fake_release()
11941194
.name("crate_that_succeeded_without_github")
1195-
.release_time(Utc.ymd(2020, 5, 16).and_hms(4, 33, 50))
1195+
.release_time(Utc.with_ymd_and_hms(2020, 5, 16, 4, 33, 50).unwrap())
11961196
.version("0.2.0")
11971197
.create()?;
11981198

11991199
env.fake_release()
12001200
.name("crate_that_failed_with_github")
12011201
.version("0.1.0")
12021202
.github_stats("some/repo", 33, 22, 11)
1203-
.release_time(Utc.ymd(2020, 6, 16).and_hms(4, 33, 50))
1203+
.release_time(Utc.with_ymd_and_hms(2020, 6, 16, 4, 33, 50).unwrap())
12041204
.build_result_failed()
12051205
.create()?;
12061206

@@ -1221,19 +1221,19 @@ mod tests {
12211221
.name("crate_that_succeeded_with_github")
12221222
.version("0.1.0")
12231223
.github_stats("some/repo", 33, 22, 11)
1224-
.release_time(Utc.ymd(2020, 4, 16).and_hms(4, 33, 50))
1224+
.release_time(Utc.with_ymd_and_hms(2020, 4, 16, 4, 33, 50).unwrap())
12251225
.create()?;
12261226
// make sure that crates get at most one release shown, so they don't crowd the page
12271227
env.fake_release()
12281228
.name("crate_that_succeeded_with_github")
12291229
.github_stats("some/repo", 33, 22, 11)
1230-
.release_time(Utc.ymd(2020, 5, 16).and_hms(4, 33, 50))
1230+
.release_time(Utc.with_ymd_and_hms(2020, 5, 16, 4, 33, 50).unwrap())
12311231
.version("0.2.0")
12321232
.create()?;
12331233
env.fake_release()
12341234
.name("crate_that_failed")
12351235
.version("0.1.0")
1236-
.release_time(Utc.ymd(2020, 6, 16).and_hms(4, 33, 50))
1236+
.release_time(Utc.with_ymd_and_hms(2020, 6, 16, 4, 33, 50).unwrap())
12371237
.build_result_failed()
12381238
.create()?;
12391239

@@ -1253,25 +1253,25 @@ mod tests {
12531253
.name("crate_that_succeeded_with_github")
12541254
.version("0.1.0")
12551255
.github_stats("some/repo", 33, 22, 11)
1256-
.release_time(Utc.ymd(2020, 4, 16).and_hms(4, 33, 50))
1256+
.release_time(Utc.with_ymd_and_hms(2020, 4, 16, 4, 33, 50).unwrap())
12571257
.create()?;
12581258
env.fake_release()
12591259
.name("crate_that_succeeded_with_github")
12601260
.version("0.2.0-rc")
12611261
.github_stats("some/repo", 33, 22, 11)
1262-
.release_time(Utc.ymd(2020, 4, 16).and_hms(8, 33, 50))
1262+
.release_time(Utc.with_ymd_and_hms(2020, 4, 16, 8, 33, 50).unwrap())
12631263
.build_result_failed()
12641264
.create()?;
12651265
env.fake_release()
12661266
.name("crate_that_succeeded_with_github")
12671267
.github_stats("some/repo", 33, 22, 11)
1268-
.release_time(Utc.ymd(2020, 5, 16).and_hms(4, 33, 50))
1268+
.release_time(Utc.with_ymd_and_hms(2020, 5, 16, 4, 33, 50).unwrap())
12691269
.version("0.2.0")
12701270
.create()?;
12711271
env.fake_release()
12721272
.name("crate_that_failed")
12731273
.version("0.1.0")
1274-
.release_time(Utc.ymd(2020, 6, 16).and_hms(4, 33, 50))
1274+
.release_time(Utc.with_ymd_and_hms(2020, 6, 16, 4, 33, 50).unwrap())
12751275
.build_result_failed()
12761276
.create()?;
12771277

src/web/sitemap.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ pub(crate) async fn sitemap_handler(
8787
.get::<_, DateTime<Utc>>("release_time")
8888
// On Aug 27 2022 we added `<link rel="canonical">` to all pages,
8989
// so they should all get recrawled if they haven't been since then.
90-
.max(Utc.ymd(2022, 8, 28).and_hms(0, 0, 0))
90+
.max(Utc.with_ymd_and_hms(2022, 8, 28, 0, 0, 0).unwrap())
9191
.format("%+")
9292
.to_string(),
9393
})
@@ -241,7 +241,7 @@ mod tests {
241241
use chrono::{TimeZone, Utc};
242242
env.fake_release()
243243
.name("some_random_crate")
244-
.release_time(Utc.ymd(2020, 1, 1).and_hms(0, 0, 0))
244+
.release_time(Utc.with_ymd_and_hms(2020, 1, 1, 0, 0, 0).unwrap())
245245
.create()?;
246246

247247
let response = web.get("/-/sitemap/s/sitemap.xml").send()?;

0 commit comments

Comments
 (0)