Commit graph

709 commits

Author SHA1 Message Date
Razvan Nitu
89abc75f02
Merge pull request #7745 from kinke/emplace
Get rid of std.conv.emplace[Ref](), use core[.internal].lifetime
2021-01-25 15:36:04 +08:00
Bernhard Seckinger
54f224a03d Fix Issue 20539 - std.conv.to: internal overload conflict for enums
with base types that have a catch-all opEquals overload (?)
2021-01-19 16:00:42 +01:00
Martin Kinkelin
1a459c5996 Get rid of std.conv.emplace[Ref](), use core[.internal].lifetime
The emplace() stuff was moved to druntime; for some reason, it's still
in Phobos.

I've diffed the two versions, and they are still almost identical (incl.
unittests); the druntime version appears to have seen some improvements
(e.g., forwarding r/lvalueness of the arguments) in the meantime.
2021-01-17 16:02:25 +01:00
RazvanN7
e2f756866c Temporarily comment one test 2021-01-15 02:37:07 +09:00
Adela Vais
b9db8c8d60
Fix Issue 21233 - std.conv.parse doesn't report the number of characters consumed (#7642) 2020-11-16 10:14:43 +02:00
Iain Buclaw
51c457d1cb std.conv: Fix unittests for FreeBSD x86 53-bit precision reals 2020-11-09 14:25:07 +01:00
Martin Kinkelin
4d3ba080b7
Prepare for properly parsed float/double literals (#7591)
This fixes failing unittests with dlang/dmd#11387 on Linux x64 by
appending a L suffix to (some) literals, to keep full `real` parsing
precision (instead of double precision).
2020-08-14 21:06:56 +08:00
Nathan Sashihara
453faadf5b Replace is(Unqual!T == Unqual!U) with is(immutable T == immutable U) for speed & memory usage 2020-08-03 15:07:32 +02:00
Andrei Alexandrescu
05c79e1af1 unsignedToTempString: use the template version 2020-07-27 03:37:52 +02:00
Per Nordlöw
8ef03bc2ee
Reuse new builtin trait isCopyable in std.traits.isCopyable (#7522) 2020-07-17 09:46:32 +08:00
Atila Neves
46933cf73e Fix issue 20782 - allow std.conv.to to convert string to const enum
The commit allows the following code to compile:

------------------------
enum Enum { oops }
"foo".to!(const Enum);
------------------------
2020-04-28 12:19:52 +02:00
Geod24
62c72ca6ff Follow up review on PR 7441
Steven identified a couple mistakes in the massive round of linkification.
Fixing them here.
2020-04-15 02:15:04 +09:00
Geod24
04f3979317 Replace 'Issue XXX' with Bugzilla links
Make the links clickable, as was done in the DMD repository.
Also avoids any ambiguity w.r.t. where the issue is stored.
2020-04-13 16:28:09 +09:00
Geod24
a2560c711c Remove outdated comment about fixed issue 2020-04-11 02:51:48 +09:00
MoonlightSentinel
d7e0c0ce70
Add tests for Issue 20623 - std.conv.to!string error when argument
is an inout float. This bug was fixed as side effect of #7407.
2020-03-10 17:59:29 +01:00
drug007
7ffdfef3f7 Fix issue 20589 - typeof may give wrong result in case of classes defining opCall operator 2020-02-26 16:41:17 +03:00
Adam D. Ruppe
ae93f5317c Use consistent quickindex wrapper around hand-written list-of-links tables 2020-02-21 21:04:05 -05:00
Martin Kinkelin
9c04113936 Fix recent test regressions for targets with double-precision real 2020-02-22 00:36:56 +01:00
Robert Schadek
9740b9afae adding assert messages to std.conv 2020-01-31 15:36:25 +00:00
Alexandru Militaru
bb62aaca3d Replaced version (unittest) with version (StdUnittest) to avoid unnecessary overhead when compiling with -unittest 2020-01-19 14:05:17 +02:00
Bernhard Seckinger
6a1b88fcb8 Fix Issue 5232 - [patch] std.conv.to & std.conv.roundTo report invalid
overflows for very large numbers
2019-12-28 09:27:40 +01:00
Bernhard Seckinger
088e55a56a Fix Issue 18248 - radix overload of std.conv.parse fails to throw on
non-empty range without number
2019-12-08 14:06:30 +01:00
Bernhard Seckinger
932d49b217 Fix partially Issue 9621 - std.conv.parseEscape fails on octals and named 2019-11-13 12:54:31 +01:00
Robert Schadek
2b2ed40f61 Fix Issue 20288
std.format with separator and double causes RangeError

trying to find the win32 bug

windows nan -nan fix

harder workaround

name clash fix

moving some stuff around

making it shorter

oh win32_64 what are you doing to me

and another try

some windows special case

and another

and again

removed some duplicated code

make it compile again

some debug output

I need a win32_64 box

and again

better infos

finding the failing test

something strange is going on

getting closer

I got it maybe

less output

I think I understand now

tighter code

making the commit nicer

removed an import

undoing some debug changes

removed an unneeded test
2019-10-22 12:17:46 +01:00
The Dlang Bot
7f48a36a26
Merge pull request #7197 from Panke/std-conv-formatvalue
Reference std.format.formatValue from std.conv
merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
2019-10-02 09:01:54 +02:00
Berni
1cc164d6a6 Move "print" to "convert" in example of to template. 2019-09-28 16:22:35 +02:00
Tobias Pankrath
fffb5a81c8 Reference std.format.formatValue from std.conv 2019-09-25 18:50:47 +02:00
Vladimir Panteleev
e9c8d30d7b When parsing char types then appending to a string, parse as dchar
Parsing as the string element type (char, in non-autodecode mode) does
not allow fitting the result of parsing escapes. Those always need to
be parsed into a dchar.
2019-08-15 12:48:11 +00:00
Vladimir Panteleev
108672bd2b std.conv: Allow instantiating parseElement only with dchar
Narrower char types cannot fit the result of parsing an escaped
character.
2019-08-15 12:33:51 +00:00
Vladimir Panteleev
c4ae17a02d std.conv: Fix instantiations of parseElement with const Target
This is a pedantic fix.
2019-08-15 12:30:45 +00:00
Martin Nowak
d2e931f149 Merge remote-tracking branch 'upstream/stable' into merge_stable 2019-08-05 08:51:49 +02:00
shove70
f75fcf0258 Fix issue 20070 - std.conv.toImpl matches two functions when using static arrays as inout(T) 2019-07-23 10:47:03 +08:00
Marco de Wild
2415c71960
Clarified error when trying to convert NaN 2019-06-27 10:59:48 +02:00
FeepingCreature
d33c1ebc10 Fix issues arising from the DMD 9029 fix (types match to alias) 2019-05-11 12:55:57 +01:00
Ryan David Sheasby
3dfbbe7dbc
Fix typo 2018-09-27 08:37:30 +02:00
Iain Buclaw
fd5facfe04 posix.mak: Enforce whitespace before opening parenthesis for version conditions 2018-09-22 16:57:24 +02:00
Nathan Sashihara
b97e76bdfd In std.conv.emplaceInitializer use memset instead of memcpy when setting all 0s 2018-09-09 11:36:13 -04:00
The Dlang Bot
217c9af28f
Merge pull request #6659 from shove70/patch-1
Fix Issue 17712 - [REG 2.074] [LINK] Undefined reference to std.conv.toChars!(10, char, 1, uint).toChars(uint)
merged-on-behalf-of: Nathan Sashihara <n8sh@users.noreply.github.com>
2018-09-07 22:20:09 +02:00
Walter Bright
33cceac7ac switch Digital Mars copyright to D Language Foundation 2018-09-05 13:49:46 -07:00
shove70
2f20661b0e Fix Issue 17712 - [REG 2.074] [LINK] Undefined reference to std.conv.toChars!(10, char, 1, uint).toChars(uint) 2018-09-01 12:13:57 -04:00
Basile Burg
db819575f1 Fix issue 11959 - Set private symbols declared in version(unittest) blocks 2018-08-26 10:22:11 +02:00
Martin Nowak
050464eda6 Merge remote-tracking branch 'upstream/stable' into merge_stable
# Conflicts:
#	std/conv.d
2018-08-12 16:36:44 +02:00
Martin Kinkelin
4de15cec63 Remove superfluous core.stdc.* dependencies in std.{conv,random} 2018-08-06 21:40:38 +02:00
Joakim
650951472e std.conv: Fix error message and doc comment that changed in #5015. 2018-08-06 10:57:34 +05:30
Joakim
6f151c5359 std.conv: add more tests for string to floating-point parser. 2018-08-06 10:57:34 +05:30
Joakim
4c77ff8632 std.conv: refactor string parser for reals so decimal and hex strings use the same code path. 2018-08-06 10:57:34 +05:30
Joakim
c6f4c7f745 std.conv: extend string parser for reals to full ieeeQuadruple precision and do away with unneeded bit-packing and rounding for hex strings. 2018-08-06 10:52:49 +05:30
Joakim
87fe0039bc std.conv: druntime now pulls in Bionic's strtold. 2018-08-06 10:52:49 +05:30
Jonathan M Davis
ad109a2ccf Move some deprecations along. 2018-08-02 16:09:51 -06:00
David Bennett
5c9b11901a Speedup text() wtext() and dtext() by allowing them to add chars to it's own appender rather then using to! then coping them back. 2018-06-27 05:03:47 +09:30