checkedint call removal
John Colvin via Digitalmars-d
digitalmars-d at puremagic.com
Mon Jul 28 03:39:14 PDT 2014
On Sunday, 27 July 2014 at 20:20:54 UTC, Walter Bright wrote:
> On 7/27/2014 6:52 AM, bearophile wrote:
>> A possible piece of the solution is the recently suggested
>> __trait(valueRange,
>> exp), but alone that's not enough.
>
> Instead of adding more language features, purpose existing ones:
>
> assert(exp >= min && exp <= max);
To what extent can a compiler use assertions? Can it work
backwards from an assert to affect previous code?
void foo(int a)
{
enforce(a & 1);
assert(a & 1);
}
void bar()
{
assert(a & 1);
enforce(a & 1);
}
Which, if either, of those calls to enforce can be removed?
More information about the Digitalmars-d
mailing list