View source code
Display the source code in std/experimental/checkedint.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Struct std.experimental.checkedint.Warn
Hook that prints to stderr
a trace of all integral errors, without affecting
default behavior.
struct Warn
;
Methods
Name | Description |
---|---|
hookOpCmp
(lhs, rhs)
|
Called automatically upon a comparison for ordering using one of the
operators < , <= , > , or >= . In case the comparison is erroneous (i.e.
it would make a signed negative value appear greater than or equal to an
unsigned positive value), then a warning message is printed to stderr .
|
hookOpEquals
(lhs, rhs)
|
Called automatically upon a comparison for equality. In case of an Erroneous
comparison (one that would make a signed negative value appear equal to an
unsigned positive value), writes a warning message to stderr as a side
effect.
|
onBadCast
(src)
|
Called automatically upon a bad cast from src to type Dst (one that
loses precision or attempts to convert a negative value to an unsigned
type).
|
onLowerBound
(rhs, bound)
|
Called automatically upon a bad opOpAssign call (one that loses precision
or attempts to convert a negative value to an unsigned type).
|
onOverflow
(lhs)
|
Called automatically upon an overflow during a unary or binary operation. |
onUpperBound
(rhs, bound)
|
Called automatically upon a bad opOpAssign call (one that loses precision
or attempts to convert a negative value to an unsigned type).
|
Example
auto x = checked!Warn(42);
short x1 = cast(short) x;
//x += long(int.max);
auto y = checked!Warn(cast(const int) 42);
short y1 = cast(const byte) y;
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.