-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #4690 - lzutao:fix-test-on-non-amd64, r=flip1995
generate stderr file on 32bit pointer system changelog: none
- Loading branch information
Showing
23 changed files
with
506 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
// ignore-32bit | ||
#[warn( | ||
clippy::cast_precision_loss, | ||
clippy::cast_possible_truncation, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
// ignore-64bit | ||
#[warn( | ||
clippy::cast_precision_loss, | ||
clippy::cast_possible_truncation, | ||
clippy::cast_sign_loss, | ||
clippy::cast_possible_wrap, | ||
clippy::cast_lossless | ||
)] | ||
#[allow(clippy::no_effect, clippy::unnecessary_operation)] | ||
fn main() { | ||
// Casting from *size | ||
1isize as i8; | ||
let x0 = 1isize; | ||
let x1 = 1usize; | ||
x0 as f64; | ||
x1 as f64; | ||
x0 as f32; | ||
x1 as f32; | ||
1isize as i32; | ||
1isize as u32; | ||
1usize as u32; | ||
1usize as i32; | ||
// Casting to *size | ||
1i64 as isize; | ||
1i64 as usize; | ||
1u64 as isize; | ||
1u64 as usize; | ||
1u32 as isize; | ||
1u32 as usize; // Should not trigger any lint | ||
1i32 as isize; // Neither should this | ||
1i32 as usize; | ||
// Big integer literal to float | ||
999_999_999 as f32; | ||
3_999_999_999usize as f64; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
error: casting isize to i8 may truncate the value | ||
--> $DIR/cast_size_32bit.rs:12:5 | ||
| | ||
LL | 1isize as i8; | ||
| ^^^^^^^^^^^^ | ||
| | ||
= note: `-D clippy::cast-possible-truncation` implied by `-D warnings` | ||
|
||
error: casting isize to f64 causes a loss of precision on targets with 64-bit wide pointers (isize is 64 bits wide, but f64's mantissa is only 52 bits wide) | ||
--> $DIR/cast_size_32bit.rs:15:5 | ||
| | ||
LL | x0 as f64; | ||
| ^^^^^^^^^ | ||
| | ||
= note: `-D clippy::cast-precision-loss` implied by `-D warnings` | ||
|
||
error: casting isize to f64 may become silently lossy if you later change the type | ||
--> $DIR/cast_size_32bit.rs:15:5 | ||
| | ||
LL | x0 as f64; | ||
| ^^^^^^^^^ help: try: `f64::from(x0)` | ||
| | ||
= note: `-D clippy::cast-lossless` implied by `-D warnings` | ||
|
||
error: casting usize to f64 causes a loss of precision on targets with 64-bit wide pointers (usize is 64 bits wide, but f64's mantissa is only 52 bits wide) | ||
--> $DIR/cast_size_32bit.rs:16:5 | ||
| | ||
LL | x1 as f64; | ||
| ^^^^^^^^^ | ||
|
||
error: casting usize to f64 may become silently lossy if you later change the type | ||
--> $DIR/cast_size_32bit.rs:16:5 | ||
| | ||
LL | x1 as f64; | ||
| ^^^^^^^^^ help: try: `f64::from(x1)` | ||
|
||
error: casting isize to f32 causes a loss of precision (isize is 32 or 64 bits wide, but f32's mantissa is only 23 bits wide) | ||
--> $DIR/cast_size_32bit.rs:17:5 | ||
| | ||
LL | x0 as f32; | ||
| ^^^^^^^^^ | ||
|
||
error: casting usize to f32 causes a loss of precision (usize is 32 or 64 bits wide, but f32's mantissa is only 23 bits wide) | ||
--> $DIR/cast_size_32bit.rs:18:5 | ||
| | ||
LL | x1 as f32; | ||
| ^^^^^^^^^ | ||
|
||
error: casting isize to i32 may truncate the value on targets with 64-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:19:5 | ||
| | ||
LL | 1isize as i32; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting isize to u32 may truncate the value on targets with 64-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:20:5 | ||
| | ||
LL | 1isize as u32; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting usize to u32 may truncate the value on targets with 64-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:21:5 | ||
| | ||
LL | 1usize as u32; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting usize to i32 may truncate the value on targets with 64-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:22:5 | ||
| | ||
LL | 1usize as i32; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting usize to i32 may wrap around the value on targets with 32-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:22:5 | ||
| | ||
LL | 1usize as i32; | ||
| ^^^^^^^^^^^^^ | ||
| | ||
= note: `-D clippy::cast-possible-wrap` implied by `-D warnings` | ||
|
||
error: casting i64 to isize may truncate the value on targets with 32-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:24:5 | ||
| | ||
LL | 1i64 as isize; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting i64 to usize may truncate the value on targets with 32-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:25:5 | ||
| | ||
LL | 1i64 as usize; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting u64 to isize may truncate the value on targets with 32-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:26:5 | ||
| | ||
LL | 1u64 as isize; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting u64 to isize may wrap around the value on targets with 64-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:26:5 | ||
| | ||
LL | 1u64 as isize; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting u64 to usize may truncate the value on targets with 32-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:27:5 | ||
| | ||
LL | 1u64 as usize; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting u32 to isize may wrap around the value on targets with 32-bit wide pointers | ||
--> $DIR/cast_size_32bit.rs:28:5 | ||
| | ||
LL | 1u32 as isize; | ||
| ^^^^^^^^^^^^^ | ||
|
||
error: casting i32 to f32 causes a loss of precision (i32 is 32 bits wide, but f32's mantissa is only 23 bits wide) | ||
--> $DIR/cast_size_32bit.rs:33:5 | ||
| | ||
LL | 999_999_999 as f32; | ||
| ^^^^^^^^^^^^^^^^^^ | ||
|
||
error: casting integer literal to f64 is unnecessary | ||
--> $DIR/cast_size_32bit.rs:34:5 | ||
| | ||
LL | 3_999_999_999usize as f64; | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `3999999999_f64` | ||
| | ||
= note: `-D clippy::unnecessary-cast` implied by `-D warnings` | ||
|
||
error: aborting due to 20 previous errors | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
// only-64bit | ||
// ignore-32bit | ||
|
||
#![warn(clippy::fn_to_numeric_cast, clippy::fn_to_numeric_cast_with_truncation)] | ||
|
||
|
Oops, something went wrong.