is it regression?

Daniel Kozak kozzi11 at gmail.com
Wed Feb 28 13:25:26 UTC 2018


Yes it is a regression, please fill a bug report

On Wed, Feb 28, 2018 at 2:16 PM, drug via Digitalmars-d-learn <
digitalmars-d-learn at puremagic.com> wrote:

> https://run.dlang.io/is/HJxtvw
>
> ```
> import std.stdio, std.typecons, std.math;
> void main()
> {
>     auto foo = nullable(2.0);
>     auto bar = nullable(2.0);
>
>     assert (foo.approxEqual(bar));
> }
> ```
> Comiling gives the following:
> Up to      2.067.1: Failure with output:
> -----
> onlineapp.d(4): Error: undefined identifier nullable, did you mean struct
> Nullable(T)?
> onlineapp.d(5): Error: undefined identifier nullable, did you mean struct
> Nullable(T)?
> -----
>
> 2.068.2 to 2.072.2: Failure with output:
> -----
> onlineapp.d(4): Error: undefined identifier 'nullable', did you mean
> struct 'Nullable(T)'?
> onlineapp.d(5): Error: undefined identifier 'nullable', did you mean
> struct 'Nullable(T)'?
> -----
>
> 2.073.2 to 2.077.1: Success and no output
> Since      2.078.1: Failure with output:
> -----
> /path/to/dmd.linux/dmd2/linux/bin64/../../src/phobos/std/math.d(7575):
> Error: template std.math.approxEqual cannot deduce function from argument
> types !()(Nullable!double, Nullable!double, double, double), candidates are:
> /path/to/dmd.linux/dmd2/linux/bin64/../../src/phobos/std/math.d(7499):
>   std.math.approxEqual(T, U, V)(T lhs, U rhs, V maxRelDiff, V maxAbsDiff =
> 1e-05) if ((isNumeric!T || isInputRange!T && isNumeric!(ElementType!T)) &&
> (isNumeric!U || isInputRange!U && isNumeric!(ElementType!U)) && isNumeric!V)
> /path/to/dmd.linux/dmd2/linux/bin64/../../src/phobos/std/math.d(7573):
>   std.math.approxEqual(T, U)(T lhs, U rhs)
> onlineapp.d(7): Error: template instance std.math.approxEqual!(Nullable!double,
> Nullable!double) error instantiating
> -----
> tldr - std.math.approxEqual stops deduced its args type when Nullable is
> used.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20180228/52429278/attachment.html>


More information about the Digitalmars-d-learn mailing list