Thread overview
[Issue 22637] std.conv `to!double` and `parse!double` dont throw on under/overflow
Dec 30, 2021
Basile-z
Jul 08, 2022
Grim Maple
Jul 08, 2022
Paul Backus
Jul 08, 2022
Dlang Bot
Jul 12, 2022
Dlang Bot
December 30, 2021
https://issues.dlang.org/show_bug.cgi?id=22637

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|stc.conv `to!double` and    |std.conv `to!double` and
                   |`parse!double` dont throw   |`parse!double` dont throw
                   |on overflow                 |on under/overflow

--
July 08, 2022
https://issues.dlang.org/show_bug.cgi?id=22637

Grim Maple <grimmaple95@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |grimmaple95@gmail.com

--- Comment #1 from Grim Maple <grimmaple95@gmail.com> ---
I can't confirm this bug on my end. It throws
`std.conv.ConvException@C:\LDC\bin\..\import\std\conv.d(3419): Range error` for
me.
LDC - the LLVM D compiler (1.29.0):
  based on DMD v2.099.1 and LLVM 13.0.1

--
July 08, 2022
https://issues.dlang.org/show_bug.cgi?id=22637

Paul Backus <snarwin+bugzilla@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |snarwin+bugzilla@gmail.com
                 OS|All                         |Linux

--- Comment #2 from Paul Backus <snarwin+bugzilla@gmail.com> ---
I was able to reproduce the bug with DMD 2.100.0 and LDC 1.29.0 on Linux.

>From the backslashes in the path, it appears that the failed reproduction
attempt was on Windows, so it's possible this bug only occurs on Linux.

--
July 08, 2022
https://issues.dlang.org/show_bug.cgi?id=22637

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

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

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
@GrimMaple created dlang/phobos pull request #8502 "Fix Issue 22637 - std.conv `to!double` and `parse!double` dont throw on under/overflow" fixing this issue:

- Fix Issue 22637 - std.conv `to!double` and `parse!double` dont throw on under/overflow

  This happened because `parse` enforced on real.
  And provided number actually fits real.
  Changed to enforce on `Target` type instead

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

--
July 12, 2022
https://issues.dlang.org/show_bug.cgi?id=22637

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/phobos pull request #8502 "Fix Issue 22637 - std.conv `to!double` and `parse!double` dont throw on under/overflow" was merged into master:

- 1c3903c2e644d55913708b6867e33aab1a076ac9 by Grim Maple:
  Fix Issue 22637 - std.conv `to!double` and `parse!double` dont throw on
under/overflow

  This happened because `parse` enforced on real.
  And provided number actually fits real.
  Changed to enforce on `Target` type instead

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

--