Bump version of filetime dependency

This commit is contained in:
Alex Crichton 2018-04-17 15:08:04 -07:00
parent 00de39bb27
commit 039ca019d7
3 changed files with 10 additions and 10 deletions

View file

@ -24,7 +24,7 @@ crypto-hash = "0.3"
curl = "0.4.6"
env_logger = "0.5"
failure = "0.1.1"
filetime = "0.1"
filetime = "0.2"
flate2 = "1.0"
fs2 = "0.4"
git2 = "0.7.0"

View file

@ -386,7 +386,7 @@ impl ser::Serialize for MtimeSlot {
self.0
.lock()
.unwrap()
.map(|ft| (ft.seconds_relative_to_1970(), ft.nanoseconds()))
.map(|ft| (ft.unix_seconds(), ft.nanoseconds()))
.serialize(s)
}
}
@ -396,9 +396,9 @@ impl<'de> de::Deserialize<'de> for MtimeSlot {
where
D: de::Deserializer<'de>,
{
let kind: Option<(u64, u32)> = de::Deserialize::deserialize(d)?;
let kind: Option<(i64, u32)> = de::Deserialize::deserialize(d)?;
Ok(MtimeSlot(Mutex::new(kind.map(|(s, n)| {
FileTime::from_seconds_since_1970(s, n)
FileTime::from_unix_time(s, n)
}))))
}
}

View file

@ -69,7 +69,7 @@ pub trait CargoPathExt {
fn move_in_time<F>(&self, travel_amount: F)
where
F: Fn(u64, u32) -> (u64, u32);
F: Fn(i64, u32) -> (i64, u32);
}
impl CargoPathExt for Path {
@ -102,7 +102,7 @@ impl CargoPathExt for Path {
fn move_in_time<F>(&self, travel_amount: F)
where
F: Fn(u64, u32) -> ((u64, u32)),
F: Fn(i64, u32) -> ((i64, u32)),
{
if self.is_file() {
time_travel(self, &travel_amount);
@ -112,7 +112,7 @@ impl CargoPathExt for Path {
fn recurse<F>(p: &Path, bad: &Path, travel_amount: &F)
where
F: Fn(u64, u32) -> ((u64, u32)),
F: Fn(i64, u32) -> ((i64, u32)),
{
if p.is_file() {
time_travel(p, travel_amount)
@ -126,14 +126,14 @@ impl CargoPathExt for Path {
fn time_travel<F>(path: &Path, travel_amount: &F)
where
F: Fn(u64, u32) -> ((u64, u32)),
F: Fn(i64, u32) -> ((i64, u32)),
{
let stat = t!(path.metadata());
let mtime = FileTime::from_last_modification_time(&stat);
let (sec, nsec) = travel_amount(mtime.seconds_relative_to_1970(), mtime.nanoseconds());
let newtime = FileTime::from_seconds_since_1970(sec, nsec);
let (sec, nsec) = travel_amount(mtime.unix_seconds(), mtime.nanoseconds());
let newtime = FileTime::from_unix_time(sec, nsec);
// Sadly change_file_times has a failure mode where a readonly file
// cannot have its times changed on windows.