Jump to page: 1 2
Thread overview
[Issue 20328] [REG 2.089 beta] deprecation message about Nullable.get in isInputRange
Oct 27, 2019
Basile-z
Oct 27, 2019
Basile-z
Oct 27, 2019
Basile-z
Oct 27, 2019
Basile-z
Oct 27, 2019
Dlang Bot
Oct 27, 2019
FeepingCreature
Oct 27, 2019
FeepingCreature
Oct 27, 2019
FeepingCreature
Oct 28, 2019
Basile-z
Oct 29, 2019
Dlang Bot
Oct 29, 2019
FeepingCreature
Oct 29, 2019
Dlang Bot
Nov 03, 2019
Basile-z
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

--- Comment #1 from Basile-z <b2.temp@gmx.com> ---
reproduce without the whole iz library:


---
#!dmd -unittest
module runnable;

void main(string[] args)
{
    import std.json : parseJSON;
    parseJSON("");
}
---

seems to be used in parseJSON and only when the -unittest switch is also used.

--
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

--- Comment #2 from Basile-z <b2.temp@gmx.com> ---
well just

    $ dmd -unittest typecons.d

shows the deprecation

--
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #1767|0                           |1
        is obsolete|                            |

--
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

--- Comment #3 from Basile-z <b2.temp@gmx.com> ---
It seems to be triggered by the fix for Issue 19799.
Suggestion add version(none) or extract this test from the Type to the global
scope. It's not recommended to add unittest blocks in a templatized type
anyway.

--
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
@clYd3r created dlang/phobos pull request #7256 "fix issue 20328 - deprecation message about Nullable.get in isInputRange" fixing this issue:

- fix issue 20328 - deprecation message about Nullable.get in isInputRange

https://github.com/dlang/phobos/pull/7256

--
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

FeepingCreature <default_357-line@yahoo.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |default_357-line@yahoo.de

--- Comment #5 from FeepingCreature <default_357-line@yahoo.de> ---
Shorter repro:

enum e = isInputRange!(Nullable!string);

I think we need to think about how to handle the case where `alias this` triggers but doesn't change the outcome of the test. The problem is that `foo.front` doesn't exist, so dmd looks inside the deprecated alias get this ... where it also doesn't exist. This does become relevant for things like sticking `Nullable!(<range>)` into format(), which would previously have identified as an input range.

--
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

--- Comment #6 from FeepingCreature <default_357-line@yahoo.de> ---
I realize it's a dirty no good very bad workaround, but the easiest way forward may be to (temporarily!) explicitly handle Nullable in `isInputRange`. That or walk back the `get` deprecation and do it via a transition switch instead? ...

That or think a lot harder about how deprecations are supposed to work with templated code, because this is very very much a general problem.

--
October 27, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

--- Comment #7 from FeepingCreature <default_357-line@yahoo.de> ---
adam_d_ruppe on IRC said to always suppress deprecations in traits… the more I think about it, the more I think this may actually be the right way to go.

--
October 28, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

--- Comment #8 from Basile-z <b2.temp@gmx.com> ---
Yeah maybe but in the meantime something has to be done for this message that's unrelated to the user code, just because an import is there while unit-testing. We (well I'm not so inside that we..) cant keep this until the end of the deprecation period.

--
October 29, 2019
https://issues.dlang.org/show_bug.cgi?id=20328

--- Comment #9 from Dlang Bot <dlang-bot@dlang.rocks> ---
@FeepingCreature created dlang/phobos pull request #7257 "Fix issue 20328: only check isInputRange when we've already excluded toString overload." fixing this issue:

- Fix issue 20328: only check isInputRange when we've already excluded toString overloads

https://github.com/dlang/phobos/pull/7257

--
« First   ‹ Prev
1 2