diff options
| author | bors <bors@rust-lang.org> | 2014-06-14 08:46:48 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-06-14 08:46:48 +0000 |
| commit | dbd29ea96ef77a67496bb44de382140354c23632 (patch) | |
| tree | a09ec4da5f5f91d2271a0534933d1df33b880657 /src/test | |
| parent | 18c451fc497a23944b7b759cca5ff0b0be1122fd (diff) | |
| parent | 30772d94b1e86a09723af1f137149b45e8c12ed7 (diff) | |
| download | rust-dbd29ea96ef77a67496bb44de382140354c23632.tar.gz rust-dbd29ea96ef77a67496bb44de382140354c23632.zip | |
auto merge of #14874 : pcwalton/rust/enum-to-float-casts-part-deux, r=alexcrichton
Closes #14794. If you're casting from an enum to a float, cast through an integer first. [breaking-change] r? @alexcrichton
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/enum-to-float-cast.rs (renamed from src/test/run-pass/enum-to-float-cast.rs) | 10 | ||||
| -rw-r--r-- | src/test/run-pass/const-enum-cast.rs | 8 | ||||
| -rw-r--r-- | src/test/run-pass/enum-disr-val-pretty.rs | 1 | ||||
| -rw-r--r-- | src/test/run-pass/tag-variant-disr-val.rs | 1 |
4 files changed, 5 insertions, 15 deletions
diff --git a/src/test/run-pass/enum-to-float-cast.rs b/src/test/compile-fail/enum-to-float-cast.rs index eb6c078efcd..9c859cb0dde 100644 --- a/src/test/run-pass/enum-to-float-cast.rs +++ b/src/test/compile-fail/enum-to-float-cast.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// Tests that enum-to-float-casts do *signed* integer-to-float conversion. +// Tests that enum-to-float casts are disallowed. enum E { L0 = -1, @@ -20,13 +20,13 @@ enum F { H1 = 0xFFFFFFFFFFFFFFFF } -static C0: f32 = L0 as f32; -static C1: f32 = H1 as f32; +static C0: f32 = L0 as f32; //~ ERROR illegal cast +static C1: f32 = H1 as f32; //~ ERROR illegal cast pub fn main() { - let a = L0 as f32; + let a = L0 as f32; //~ ERROR illegal cast let b = C0; - let c = H1 as f32; + let c = H1 as f32; //~ ERROR illegal cast let d = C1; assert_eq!(a, -1.0f32); assert_eq!(b, -1.0f32); diff --git a/src/test/run-pass/const-enum-cast.rs b/src/test/run-pass/const-enum-cast.rs index 75e942cb767..346d379aa14 100644 --- a/src/test/run-pass/const-enum-cast.rs +++ b/src/test/run-pass/const-enum-cast.rs @@ -14,18 +14,10 @@ enum B { B1=0, B2=2 } pub fn main () { static c1: int = A2 as int; static c2: int = B2 as int; - static c3: f64 = A2 as f64; - static c4: f64 = B2 as f64; let a1 = A2 as int; let a2 = B2 as int; - let a3 = A2 as f64; - let a4 = B2 as f64; assert_eq!(c1, 1); assert_eq!(c2, 2); - assert_eq!(c3, 1.0); - assert_eq!(c4, 2.0); assert_eq!(a1, 1); assert_eq!(a2, 2); - assert_eq!(a3, 1.0); - assert_eq!(a4, 2.0); } diff --git a/src/test/run-pass/enum-disr-val-pretty.rs b/src/test/run-pass/enum-disr-val-pretty.rs index 66b11aefd32..c34b2be6fb5 100644 --- a/src/test/run-pass/enum-disr-val-pretty.rs +++ b/src/test/run-pass/enum-disr-val-pretty.rs @@ -21,5 +21,4 @@ pub fn main() { fn test_color(color: color, val: int, _name: String) { assert!(color as int == val); - assert!(color as f64 == val as f64); } diff --git a/src/test/run-pass/tag-variant-disr-val.rs b/src/test/run-pass/tag-variant-disr-val.rs index 191a6a9c7e2..ac9af2b693d 100644 --- a/src/test/run-pass/tag-variant-disr-val.rs +++ b/src/test/run-pass/tag-variant-disr-val.rs @@ -40,7 +40,6 @@ pub fn main() { fn test_color(color: color, val: int, name: String) { //assert!(unsafe::transmute(color) == val); assert_eq!(color as int, val); - assert_eq!(color as f64, val as f64); assert!(get_color_alt(color) == name); assert!(get_color_if(color) == name); } |
