Work around const_eval issues by changing signed integer min_values.

Otherwise, run-pass/deriving-primitive.rs breaks on 32-bit platforms,
because `int::min_value` is `0xffffffff7fffffff` when evaluated for the
discriminant declaration.
This commit is contained in:
Jed Davis 2013-10-20 11:13:41 -07:00
parent de9bb9738d
commit 472d798dc1

View File

@ -29,7 +29,8 @@ pub static bits : uint = $bits;
pub static bytes : uint = ($bits / 8);
pub static min_value: $T = (-1 as $T) << (bits - 1);
pub static max_value: $T = min_value - 1 as $T;
// FIXME(#9837): Compute min_value like this so the high bits that shouldn't exist are 0.
pub static max_value: $T = !min_value;
impl CheckedDiv for $T {
#[inline]