From 451160fbfabcdfa14e986e7e699c88052cabd222 Mon Sep 17 00:00:00 2001 From: Steven Stewart-Gallus Date: Mon, 24 Mar 2014 16:10:20 -0700 Subject: [PATCH 1/2] Cleanup fixed issue #10734 workaround --- src/librustc/back/archive.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librustc/back/archive.rs b/src/librustc/back/archive.rs index 33b79b213d230..f12a2e5a76120 100644 --- a/src/librustc/back/archive.rs +++ b/src/librustc/back/archive.rs @@ -91,7 +91,7 @@ impl<'a> Archive<'a> { pub fn read(&self, file: &str) -> Vec { // Apparently if "ar p" is used on windows, it generates a corrupt file // which has bad headers and LLVM will immediately choke on it - if cfg!(windows) && cfg!(windows) { // FIXME(#10734) double-and + if cfg!(windows) { let loc = TempDir::new("rsar").unwrap(); let archive = os::make_absolute(&self.dst); run_ar(self.sess, "x", Some(loc.path()), [&archive, From ff2f2e839e92f402c51a19acc262c9100c3f4ce1 Mon Sep 17 00:00:00 2001 From: Steven Stewart-Gallus Date: Mon, 24 Mar 2014 16:58:12 -0700 Subject: [PATCH 2/2] Correct issue workaround references --- src/libnum/bigint.rs | 17 ++++++++--------- src/libnum/rational.rs | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/libnum/bigint.rs b/src/libnum/bigint.rs index 89ad2b5d1bc9e..50d72663ce8b1 100644 --- a/src/libnum/bigint.rs +++ b/src/libnum/bigint.rs @@ -406,11 +406,11 @@ impl Integer for BigUint { let mut d0 = d0; let mut prod = b * d0; while prod > m { - // FIXME(#6050): overloaded operators force moves with generic types + // FIXME(#5992): assignment operator overloads // d0 -= d_unit d0 = d0 - d_unit; - // FIXME(#6050): overloaded operators force moves with generic types - // prod = prod - b_unit; + // FIXME(#5992): assignment operator overloads + // prod -= b_unit; prod = prod - b_unit } if d0.is_zero() { @@ -418,10 +418,10 @@ impl Integer for BigUint { continue; } n = 1; - // FIXME(#6102): Assignment operator for BigInt causes ICE + // FIXME(#5992): assignment operator overloads // d += d0; d = d + d0; - // FIXME(#6102): Assignment operator for BigInt causes ICE + // FIXME(#5992): assignment operator overloads // m -= prod; m = m - prod; } @@ -724,8 +724,7 @@ impl BigUint { let d: Option = FromPrimitive::from_uint(d); match d { Some(d) => { - // FIXME(#6102): Assignment operator for BigInt - // causes ICE: + // FIXME(#5992): assignment operator overloads // n += d * power; n = n + d * power; } @@ -738,7 +737,7 @@ impl BigUint { return Some(n); } end -= unit_len; - // FIXME(#6050): overloaded operators force moves with generic types + // FIXME(#5992): assignment operator overloads // power *= base_num; power = power * base_num; } @@ -2068,7 +2067,7 @@ mod biguint_tests { fn factor(n: uint) -> BigUint { let mut f: BigUint = One::one(); for i in range(2, n + 1) { - // FIXME(#6102): Assignment operator for BigInt causes ICE + // FIXME(#5992): assignment operator overloads // f *= FromPrimitive::from_uint(i); f = f * FromPrimitive::from_uint(i).unwrap(); } diff --git a/src/libnum/rational.rs b/src/libnum/rational.rs index 6fb3d492432b2..bea003bcf1886 100644 --- a/src/libnum/rational.rs +++ b/src/libnum/rational.rs @@ -87,10 +87,10 @@ impl fn reduce(&mut self) { let g : T = self.numer.gcd(&self.denom); - // FIXME(#6050): overloaded operators force moves with generic types + // FIXME(#5992): assignment operator overloads // self.numer /= g; self.numer = self.numer / g; - // FIXME(#6050): overloaded operators force moves with generic types + // FIXME(#5992): assignment operator overloads // self.denom /= g; self.denom = self.denom / g;