diff options
| author | AngelicosPhosphoros <xuzin.timur@gmail.com> | 2023-05-02 17:53:11 +0400 |
|---|---|---|
| committer | AngelicosPhosphoros <xuzin.timur@gmail.com> | 2023-05-11 18:06:31 +0400 |
| commit | 7c263adb2afc310b96422bd33317407bc5385bf9 (patch) | |
| tree | e5c2a5db3896f6832dfe64f857461c292c463f3e /tests/ui/feature-gates/feature-gate-cfg_overflow_checks.rs | |
| parent | f8d8ffa2eba53928662dc57bc3a6c5608beb26f1 (diff) | |
| download | rust-7c263adb2afc310b96422bd33317407bc5385bf9.tar.gz rust-7c263adb2afc310b96422bd33317407bc5385bf9.zip | |
Add support for `cfg(overflow_checks)`
This PR adds support for detecting if overflow checks are enabled in similar fashion as debug_assertions are detected.
Possible use-case of this, for example, if we want to use checked integer casts in builds with overflow checks, e.g.
```rust
pub fn cast(val: usize)->u16 {
if cfg!(overflow_checks) {
val.try_into().unwrap()
}
else{
vas as _
}
}
```
Resolves #91130.
Tracking issue: #111466.
Diffstat (limited to 'tests/ui/feature-gates/feature-gate-cfg_overflow_checks.rs')
| -rw-r--r-- | tests/ui/feature-gates/feature-gate-cfg_overflow_checks.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/ui/feature-gates/feature-gate-cfg_overflow_checks.rs b/tests/ui/feature-gates/feature-gate-cfg_overflow_checks.rs new file mode 100644 index 00000000000..cb265aa7f25 --- /dev/null +++ b/tests/ui/feature-gates/feature-gate-cfg_overflow_checks.rs @@ -0,0 +1,6 @@ +#![crate_type = "lib"] + +#[cfg(overflow_checks)] //~ ERROR `cfg(overflow_checks)` is experimental +pub fn cast(v: i64)->u32{ + todo!() +} |
