monarchdodra
31afedbc5c
fix Issue 11009 - Regression (2.064 git-head): DMD consumes huge memory when it compiles enum containing many items
...
This is a fixup of pull #1540 .
Turns out NoDuplicates is scary inefficient for large input.
This cleans up and simplifies the pull somewhat.
2013-09-12 09:15:03 +02:00
monarch dodra
d39696d151
Merge pull request #1540 from AndrejMitrovic/ConvOptimize
...
Use a switch table for enum->string conversion, which avoids runtime memory allocation.
2013-09-08 08:38:16 -07:00
Andrej Mitrovic
680a7291ff
Use a switch table for enum->string conversion, which avoids runtime memory allocation.
2013-09-06 16:03:49 +02:00
monarch dodra
b001c0a786
Merge pull request #1525 from lyrebirdsw/issue_10909
...
issue 10909 toImpl narrowing conversion support for bool type. mostNegative support for bool type
2013-09-04 07:57:22 -07:00
growler
dcb634e8a2
issue 10909 toImpl support for bool narrowing conversion. mostNegative support for bool.
2013-08-27 21:05:00 +10:00
monarchdodra
52cadf9f01
Yet another emplace unittest that is fixed
2013-08-25 23:03:54 +02:00
monarchdodra
6d3fe90eb9
reword emplace deprecation message
2013-08-25 22:56:22 +02:00
monarch dodra
fbf8ae203b
make "emplace(singleArg)" safe pure nothrow
2013-08-25 22:56:22 +02:00
monarch dodra
d711117982
emplace: diagn for quals; simplf alias this brnch
2013-08-25 22:56:22 +02:00
unknown
62644dbfd8
Tweak emplace some
2013-08-25 22:56:22 +02:00
unknown
e951b2cf46
Issue 9559 - Range of Nullable doesn't work with std.array.array
2013-08-25 22:56:22 +02:00
unknown
75c935bdf6
Fix spelling
2013-08-25 22:56:22 +02:00
monarch dodra
fa9614988f
Fix emplace
2013-08-25 22:56:22 +02:00
monarch dodra
a184d6b484
Merge pull request #1505 from quickfur/issue10874
...
Issue 10874 - conv.to ulong to int enum conversion
2013-08-24 02:33:37 -07:00
H. S. Teoh
d42e0eddec
Add unittest for narrowing enum -> integral conversions.
2013-08-23 11:03:52 -07:00
H. S. Teoh
8f8587f677
Allow narrowing conversions of enum -> integral (int, short, etc.).
...
It will just throw at runtime if the value of the enum is too large.
2013-08-23 11:03:52 -07:00
H. S. Teoh
8536853fc8
Fix issue 10874.
...
Don't assume that is(A : B) means a==b is valid, or that !is(A : B)
implies that a==b is invalid. Instead, test for a==b explicitly.
More specifically, int and ulong are ==-comparable, even though ulong is
not implicitly convertible to int. Thus, one should be able to convert
ulong to an int-based enum, but is(A : B) in the signature constraint
prohibits this. Testing for a==b explicitly, OTOH, makes this work.
2013-08-22 21:01:10 -07:00
Andrei Alexandrescu
ec62f9dd5f
Merge pull request #1452 from Kozzi11/toImplForIntegralTypes
...
Improve speed of to!string for integral types
2013-08-11 21:02:10 -07:00
Kozzi11
2041f446ff
Improve speed of to!string for integral types
2013-08-07 11:00:20 +02:00
Tomoya Tanjo
7b5730478d
Make a unittest for std.conv.toImple for char* to string conversion system
2013-08-04 00:23:03 +09:00
Tomoya Tanjo
323e736062
Add document for memory safety of std.conv.toImpl for char* to string conversion
2013-08-01 21:29:16 +09:00
Andrej Mitrovic
e7f4f715d6
Merge pull request #1429 from Kozzi11/toWithLetterCase
...
Add LetterCase to to!
2013-07-22 13:40:27 -07:00
Kozzi11
923b79998f
Add LetterCase to to!
2013-07-22 15:29:34 +02:00
Hackerpilot
6f9c22bfa9
Merge remote-tracking branch 'upstream/master'
2013-07-13 19:37:11 +00:00
Hackerpilot
ae1dcaa3e1
Removed empty declarations. Converted more C-style array declarations to D-style. Removed trailing whitespace
2013-07-13 19:34:37 +00:00
Hara Kenji
1b230c39c5
Merge pull request #1341 from jmdavis/signed
...
Implement issue# 10314 (add std.traits.signed).
2013-07-04 01:37:01 -07:00
Andrej Mitrovic
4da1639c98
Merge pull request #1337 from 9rnsr/fix_attrs
...
Potentially @safe & pure formatting
2013-06-27 18:53:22 -07:00
k-hara
03a32d6fa4
Fix issue 313 & 314
2013-06-25 08:38:30 +09:00
k-hara
f54525e775
[to!string] severals
2013-06-20 10:57:51 +09:00
k-hara
01f6a978e0
[non to!string] because they are unrelated to formatValue
2013-06-20 10:57:41 +09:00
k-hara
7e60eb2405
[parse, str.to!x] Determine @trusted operations
2013-06-20 10:54:40 +09:00
k-hara
92bef24f2f
fix Issue 10254 - Purity correctness is broken with constructor
2013-06-20 10:54:30 +09:00
k-hara
3427857948
[Refactoring] Delaying throwing Exception makes control flow analysis simple
2013-06-20 10:54:25 +09:00
k-hara
ed03c4af01
Fix trivial nitpicks
2013-06-20 10:54:20 +09:00
monarch dodra
0adb9524d6
Make conv unittest private simbols private
...
There were some symbols in a "version(unittest)" block that were not declared private.
This can create some conflicts during unittest releases. I started out just declaring them private, but that created some ambiguities in other modules that used "A" in their names, eg:
```D
struct Appender(A : T[], T)
```
`std\array.d(2129): Error: module std.array std.conv.A is private`.
So I just mangled the names. As a workaround. I'll file a bug report later.
2013-06-19 23:48:54 +02:00
jmdavis
378fe78352
Implement issue# 10314.
...
This moves std.traits.unsigned to std.conv and adds std.conv.signed,
since for some reason, we have std.traits.unsigned but do not have
std.traits.signed.
2013-06-19 08:47:41 -07:00
k-hara
e2d991b005
Move checkCTFEable to std.exception.assertCTFEable, and use it
2013-06-02 02:32:24 +09:00
Johannes Pfau
d44104ed56
Make std.conv unittests independent of floating point rounding
2013-05-25 12:12:41 +02:00
Brad Anderson
9e374bc4e1
Placement of WIKI in std.conv was corrupting docs
2013-05-14 13:07:48 -06:00
Nils Boßung
cf7169c613
xformat -> format
2013-05-08 01:34:47 +02:00
jmdavis
ce1b2294b0
Undocument some deprecated functions.
...
They were marked for removal in the docs (many of them were intended to
be removed in January), so now they've been removed from the docs and
marked for removal from the code in November.
2013-05-05 16:34:25 -07:00
Hara Kenji
fa378eea48
Merge pull request #1181 from monarchdodra/convEscape
...
Bugfix in std.conv.parseEscape
2013-03-25 05:10:06 -07:00
monarch dodra
4870741575
Fix typo in comment
2013-03-25 13:08:46 +01:00
jmdavis
8f7f6d69ac
Remove some undocumented, deprecated functions which are slated for removal.
...
These have been deprecated for a while, but there was some balking
(primarily from Andrei IIRC) at actually removing them when they were
slated for removal, so they were instead made undocumented and slated
for removal after yet another 6 months or so. So, now that that time has
passed, here's another attempt to actually remove them.
2013-03-06 22:19:34 -08:00
monarch dodra
901da0ca29
Update unittest to take into account...
...
...Octal escapes and named character entities. These still don't work, but there was a test checking octal would throw, which is wrong.
2013-03-01 17:40:38 +01:00
monarch dodra
0512f7ca21
unittests for parseEscape
2013-02-28 18:01:44 +01:00
unknown
4197f797f4
Bugfix in std.conv.parseEscape
...
parseEscape was not parsing the escapes:
\
0
'
"
?
2013-02-28 18:01:17 +01:00
jmdavis
895550649f
Remove all uses of toStringNow.
2013-02-24 18:23:51 -08:00
jmdavis
9bd4044536
Added CTFE-ability tests to some stuff in std.conv and std.string.
...
These tests are for the functionality that std.metastrings provides, and
we need to ensure that the normal functions which are replacing
those in std.metastrings continue to work in CTFE.
2013-02-24 16:02:32 -08:00
Andrej Mitrovic
1d24c8edf5
Fixes Issue 9523 - Regression: Enum to Enum conversion should work in std.conv.
2013-02-17 06:34:55 +01:00