Commit graph

11114 commits

Author SHA1 Message Date
Martin Nowak
9d73d18c0c fix Issue 16291 - EncodingScheme.create fails
- add EncodingScheme.register overload that references the registered class
- just adding the FQN name of a class does not reference that class, so
  it must not end up in the binary and subsequently EncodingScheme.create failed
- This used to work by chance b/c all the EncodingScheme implementations
  were in a module w/ static ctor. Any user of std.encoding did drag in
  that ModuleInfo, which in turn referenced all classes of std.encoding.
  Since moving the static ctor to std.internal.phobosinit to break a
  cycle, the classes were no longer referenced by a ModuleInfo w/ shared
  ctor, so they wouldn't end up in the binary unless explicitly
  referenced elsewhere.
- deprecate the old EncodingScheme.register(string fqn) b/c relying on
  Object.factory is slow, error prone (linkage), and really unnecessary
- import encodinginit in std.encoding so that the
  std_encoding_shared_static_this callback actually gets run
2016-10-05 01:54:22 +02:00
Martin Nowak
ebbdf21a7e fix Issue 16580 - spawnShell segfaults on macOS
- partially Revert "Merge pull request #4493 from schveiguy/fixcycles2"
- recreate processinit (and import it from std.process)
  to call std.process shared ctor w/o creating a cycle
- keep it separate from phobosinit to not drag std.encoding
  into any binary using std.process
2016-10-04 23:56:38 +02:00
Etienne Cimon
856c984b78 Avoid GC Allocations in sharedStaticDtor
The `Thread.opApply` static method will use `realloc` from `core.stdc.stdlib` instead of `gc.gc.GC.malloc` which sometimes fails with `onInvalidMemoryOperationError` when run within a `static ~this` module dtor
2016-10-04 15:04:29 -04:00
Joakim
b4061155cd Fix Issue 16571 - Unittests should not list /tmp/ recursively 2016-10-04 16:26:27 +05:30
Vladimir Panteleev
d6572c2a44 Fix Issue 16587 - split("", "x") should be ""
This reverts commit b438bf5a06.
2016-10-03 22:30:00 +00:00
Dmitry Olshansky
91f0671bc7 [std.regex] rebase on top of latest master, fix shiftor 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
b94a203b0b [std.regex] Re-style pass 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
ecd33f148c [std.regex] Get Bit-NFA working on the testsuite 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
3544686b74 WIP fixing multi-pattern match 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
20c5e399d3 Try to reduce memory usage in CT-regex tests 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
2011a1a75c Trailing whitespace 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
88ce1a1212 [std.regex] Limit ShiftOr to only apply where it's better then Bit-NFA 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
138a2f3dcb [std.regex] Integrate Bit-NFA into std.regex 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
4610231288 [std.regex] Bit-NFA - fix inversion of the right sub-portion of regex 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
845551b3d6 [std.regex] Bit-NFA fix premature stop on repetitions 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
7d930c1de8 [std.regex] Even faster hash table for Bit-NFA 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
5c21564f6f [std.regex] Improved hash-table for Bit-NFA 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
ed4e07c779 [std.regex] Bit-NFA: implement unicode trie 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
99095eebfc ASCII-only version of Bit-NFA 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
1416ddb018 A start on bit-NFA 2016-10-01 20:59:12 +03:00
Dmitry Olshansky
66048ae334 [Refactor] Generalize kickstart engines, in preparation for more to come 2016-10-01 20:59:12 +03:00
David Nadlinger
bf61ad682f Merge pull request #4826 from andralex/6192-redivivus
Use medianOf 3 and 5 to estimate pivot
2016-10-01 14:41:56 +01:00
Walter Bright
6fe14f2cb1 Merge pull request #4829 from 9il/ndslicechangelog
Ndslice changlog, tables update, note about Mir
2016-10-01 02:09:03 -07:00
Ilya Yaroshenko
7120a2fa86 add note about Mir 2016-10-01 08:30:01 +02:00
Ilya Yaroshenko
2ad1da6e2b update ndslice tables 2016-10-01 08:04:27 +02:00
Andrei Alexandrescu
e35705001f Merge pull request #4796 from JackStouffer/toUTF16
Make std.uni.toUTF16 DRY by using byUTF internally
2016-10-01 01:36:52 -04:00
Andrei Alexandrescu
ace0b93788 Merge pull request #4763 from tmccombs/unique-cleanup
Unique cleanup
2016-10-01 00:48:12 -04:00
Andrei Alexandrescu
1a7914a48c Merge pull request #4790 from JackStouffer/uni-private
Make private, remove, or document undocumented public symbols in std.uni
2016-09-30 23:54:50 -04:00
Andrei Alexandrescu
d38727771b Merge pull request #4825 from 9il/master
add ndslice.slice.as
2016-09-30 22:39:03 -04:00
Andrei Alexandrescu
2f8e693e5d Merge pull request #4814 from e-y-e/fixflags
[trivial] [large diff] Update uses of Flag to use the Yes/No structs.
2016-09-30 18:25:44 -04:00
Andrei Alexandrescu
26f47b1e2e Watermarks slightly different for debug vs release 2016-09-30 17:44:38 -04:00
Andrei Alexandrescu
3cb9e4d821 Use medianOf 3 and 5 to estimate pivot 2016-09-30 16:10:40 -04:00
Ilya Yaroshenko
a3d18ebbec add slice.as 2016-09-30 21:28:59 +02:00
Walter Bright
c5f289156e Merge pull request #4809 from andralex/pivotPartition
Add pivotPartition
2016-09-30 12:09:39 -07:00
Andrei Alexandrescu
b2978040ca Merge pull request #4429 from JackStouffer/issue16170
[Issue 16170] Partial Fix for Broken std.algorithm.sorting.partition
2016-09-30 11:43:19 -04:00
Ilya Yaroshenko
1c9ff2f1ed fix mixin style 2016-09-30 16:16:39 +02:00
Jack Stouffer
e21f2729ba [Issue 16170] Seperate std.algorithm.sorting.partition into various overloads in order to facilitate further improvements 2016-09-30 15:16:36 +01:00
Ilya Yaroshenko
545dfd08d7 workaround for Issue 16473 2016-09-30 16:13:35 +02:00
Andrei Alexandrescu
a725dbc658 Merge pull request #4823 from 9il/templatebloat
reduce ndslice template bloat
2016-09-30 10:11:38 -04:00
Andrei Alexandrescu
a9b7fb0313 Add back the entropy following dmd bug fix 2016-09-30 09:13:30 -04:00
Andrei Alexandrescu
d5e2b607d7 Fix dox 2016-09-30 09:08:01 -04:00
Andrei Alexandrescu
63f9713feb Add some dox 2016-09-30 09:08:01 -04:00
Andrei Alexandrescu
40df929b37 Add pivotPartition 2016-09-30 09:08:01 -04:00
Andrei Alexandrescu
59b6392f20 Merge pull request #4822 from CyberShadow/pull-20160926-152950
Fix Issue 16544 - Add File.reopen
2016-09-30 09:04:28 -04:00
Ilya Yaroshenko
a90f857754 reduce ndslice template bloat part 2 2016-09-30 01:43:15 +02:00
Ilya Yaroshenko
c39ec4cd43 reduce ndslice template bloat part 1 2016-09-30 01:43:05 +02:00
Andrei Alexandrescu
25dac83dbc medianOf restricted for now to only size_t indexes 2016-09-29 18:45:42 -04:00
Andrei Alexandrescu
1859f0dc19 Make medianOf private for now to have freedom in choosing a public spec later 2016-09-29 16:22:21 -04:00
Andrei Alexandrescu
0a967579bb @wilzbach review 2016-09-29 16:21:04 -04:00
Andrei Alexandrescu
15ee49f84f Review 2016-09-29 16:21:04 -04:00