View source code
Display the source code in std/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.

Function std.checkedint.Warn.hookOpEquals

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.

bool hookOpEquals(Lhs, Rhs) (
  Lhs lhs,
  Rhs rhs
);

Parameters

NameDescription
lhs The first argument of Checked, e.g. int if the left-hand side of the operator is Checked!int
rhs The right-hand side type involved in the operator

Returns

In all cases the function returns the built-in result of lhs == rhs.

Example

auto x = checked!Warn(-42);
// Passes
writeln(x); // -42
// Passes but prints a warning
// assert(x == uint(-42));

Authors

License