From b76d66b9f5b949be1f059c6ce6b8a9de6d8d3cd8 Mon Sep 17 00:00:00 2001 From: Jon Bauman <5906042+baumanj@users.noreply.github.com> Date: Mon, 24 Aug 2020 17:12:20 -0700 Subject: [PATCH] Fix bustage from BMO bug 1660551 See https://bugzilla.mozilla.org/show_bug.cgi?id=1660551#c3 This appears related to https://github.com/rust-lang/rust/issues/61002 though, I'm not sure what changed between versions of num-traits to make this an issue, pinning to the version we were already using seems to function as a workaround for now. --- mp4parse/Cargo.toml | 2 +- mp4parse_capi/Cargo.toml | 2 +- mp4parse_capi/src/lib.rs | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mp4parse/Cargo.toml b/mp4parse/Cargo.toml index 83623eb4..1c99a78d 100644 --- a/mp4parse/Cargo.toml +++ b/mp4parse/Cargo.toml @@ -28,7 +28,7 @@ travis-ci = { repository = "https://github.com/mozilla/mp4parse-rust" } byteorder = "1.2.1" bitreader = { version = "0.3.2" } hashbrown = "0.7.1" -num-traits = "0.2.0" +num-traits = "=0.2.10" log = "0.4" static_assertions = "1.1.0" diff --git a/mp4parse_capi/Cargo.toml b/mp4parse_capi/Cargo.toml index d6fae503..13cd2440 100644 --- a/mp4parse_capi/Cargo.toml +++ b/mp4parse_capi/Cargo.toml @@ -26,7 +26,7 @@ travis-ci = { repository = "https://github.com/mozilla/mp4parse-rust" } byteorder = "1.2.1" log = "0.4" mp4parse = {version = "0.11.2", path = "../mp4parse"} -num = "0.3.0" +num-traits = "=0.2.10" [dev-dependencies] env_logger = "0.7.1" diff --git a/mp4parse_capi/src/lib.rs b/mp4parse_capi/src/lib.rs index 648dd7d5..e85e4ccc 100644 --- a/mp4parse_capi/src/lib.rs +++ b/mp4parse_capi/src/lib.rs @@ -37,11 +37,11 @@ extern crate byteorder; extern crate mp4parse; -extern crate num; +extern crate num_traits; use byteorder::WriteBytesExt; -use num::{CheckedAdd, CheckedSub}; -use num::{PrimInt, Zero}; +use num_traits::{CheckedAdd, CheckedSub}; +use num_traits::{PrimInt, Zero}; use std::convert::TryFrom; use std::convert::TryInto; @@ -704,7 +704,7 @@ where let integer = numerator / denominator; let remainder = numerator % denominator; - num::cast(scale2).and_then(|s| match integer.checked_mul(&s) { + num_traits::cast(scale2).and_then(|s| match integer.checked_mul(&s) { Some(integer) => remainder .checked_mul(&s) .and_then(|remainder| (remainder / denominator).checked_add(&integer)),