Skip to content

Commit 1b5d74f

Browse files
committed
Add links
1 parent 8c51d0f commit 1b5d74f

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/coding-guidelines/types-and-traits.rst

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,17 @@ Types and Traits
2525
:status: draft
2626

2727
In debug builds, Rust performs runtime checks for integer overflow and will panic if detected.
28-
However, in release builds (with optimizations enabled), unless the flag overflow-checks is
28+
However, in release builds (with optimizations enabled), unless the flag `overflow-checks`_ is
2929
turned on, integer operations silently wrap around on overflow, creating potential for silent
3030
failures and security vulnerabilities. Note that overflow-checks only brings the default panic
3131
behavior from debug into release builds, avoiding potential silent wrap arounds. Nonetheless,
3232
abrupt program termination is usually not suitable and, therefore, turning this flag on must
33-
not be used as a substitute of explicit handling.
33+
not be used as a substitute of explicit handling. Furthermore, the behavior in release mode is
34+
under consideration by the The Rust Language Design Team and in the future overflow checking
35+
may be turned on by default in release builds (it is a `frequently requested change`_).
36+
37+
.. _overflow-checks: https://github.com/rust-lang/rust/blob/master/src/doc/rustc/src/codegen-options/index.md#overflow-checks
38+
.. _frequently requested change: https://lang-team.rust-lang.org/frequently-requested-changes.html#numeric-overflow-checking-should-be-on-by-default-even-in-release-mode
3439

3540
Safety-critical software requires consistent and predictable behavior across all build
3641
configurations. Explicit handling of potential overflow conditions improves code clarity,

0 commit comments

Comments
 (0)