Commit graph

71 commits

Author SHA1 Message Date
MoonlightSentinel
ff934f9332 Remove duplicate assumePureFunction from std.regex
It's redundant and has the same invalid constraint that was
fixed for the other implementation
2021-05-10 13:17:42 +02:00
MoonlightSentinel
5b6507df1f Fix template constraint of assumePureFunction
The constraint was actually a runtime `if`, leaving `assumePureFunction`
without a `return` at the end of the function.
2021-04-26 14:55:11 +02:00
Jon Degenhardt
34e58ec857 Fix issue 21716: std.regex performance regression. 2021-04-25 20:43:24 +08:00
berni44
6f2a0934a7 Adapt imports of std.format to new structure of std.format. 2021-03-19 13:22:00 +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
Luís Ferreira
d97b65a697
regex: partially make regex pure
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2020-10-26 18:05:46 +00:00
Luís Ferreira
35e2ac7a60
regex: use pure/enforce version of malloc/free functions
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2020-10-26 17:17:39 +00: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
Nathan Sashihara
e226022680 Fix Issue 20098 - Improve result of printing std.regex compiled pattern 2019-08-02 15:53:21 -07:00
Vladimir Panteleev
6c5d7230bc
Fix Issue 19979 - std.regex should return null for non-matched captures 2019-06-17 21:11:06 +00:00
Nathan Sashihara
725278b2ce Fix Issue 19331 - std.regex.internal.ir.SmallFixedArray.toHash is ignored because it's non-const 2018-10-25 03:22:04 -04:00
Martin Nowak
9fdcf660dd Merge remote-tracking branch 'upstream/stable' into merge_stable
# Conflicts:
#	std/bitmanip.d
2018-04-06 19:39:58 +02:00
Sebastian Wilzbach
42894784dd Markdownify Phobos
$(D word) -> `word`
2018-04-02 22:32:47 +02:00
Dmitry Olshansky
b602b5a3f4 Fix issue 18691 - memory errors in std.regex.Captures
Instead of a messy code that ended up with refcount at the wrong place
provide a clean fixed-size array with required semantics and
build on top of that.
2018-03-29 19:49:51 +03:00
Dmitry Olshansky
4318073f40 Fix issue 18600 Revamp std.regex caching for matchFirst case 2018-03-21 14:53:34 +03:00
Martin Nowak
59520969ef fix Issue 18114 - regex performance regression
- reduce copying of fat structs
- optimize layouts and opAssign of Captures
2018-02-22 16:59:09 +01:00
Martin
3db3dd8899 std.regex: Alignment hotfix
This fixes the unittests for LDC on ARM (with enabled optimizations).

The code used to store a class instance (whose size isn't padded) right
before some buffer, without any padding inbetween. The buffer is thus
susceptible to misalignment; e.g., `BacktrackingMatcher.dupTo()` casts
the buffer from `void[]` to `size_t[]` (in `initExternalMemory()`),
simply assuming an alignment >= `size_t.alignof`, which only holds if
the prepended class instance size is a multiple of that (as `malloc()`
returns a sufficiently aligned block already in this case).
2018-02-15 20:41:59 +01:00
Dmitry Olshansky
881658eabc Faster to import std.regex, by lazy eval of wordMatcher 2017-12-18 17:50:53 +03:00
Dmitry Olshansky
13ea5f9aea Drop another level of templatizations in backtracking 2017-10-11 18:18:12 +03:00
Dmitry Olshansky
41c229647d Need to propagate subCounters
Disable "benchmark" in unittest, it's too volatile
with different compiler flags
Also use GC.addRange/GC.removeRange
2017-10-06 11:20:55 +03:00
Dmitry Olshansky
8bfa66c50a Fix CI complaints 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
c7bdfbe51b std.regex finish the loose ends in the great refactoring 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
639dd3dd6f The new std.regex design is concluded, going through the unitests 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
33d7ecc84c Finalized matcher factory abstraction, with compile-time regex support 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
6e684343d7 WIP - refactoring towards sane std.regex code 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
905788a65a Move unicode set parser out of std.regex
This only does the move without adapting
the interface to the commonly accepted ranges.
2017-08-23 19:17:55 +03:00
Sebastian Wilzbach
2070d867dd Sort multiple packages within one line 2017-06-12 08:18:25 +02:00
Sebastian Wilzbach
61717ecc7d Sort imports 2017-06-12 07:54:38 +02:00
Sebastian Wilzbach
203755d296 Automatically add spaces to binary operators (>>)
command:

sed -E "s/([[:alnum:]]) >> ([[:alnum:]])/\1 >> \2/g" -i **/*.d
sed -E "s/([[:alnum:]])>> ([[:alnum:]])/\1 >> \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) >>([[:alnum:]])/\1 >> \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00
Sebastian Wilzbach
ef7be4b60d Automatically add spaces to binary operators (<<)
command:

sed -E "s/([[:alnum:]]) << ([[:alnum:]])/\1 << \2/g" -i **/*.d
sed -E "s/([[:alnum:]])<< ([[:alnum:]])/\1 << \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) <<([[:alnum:]])/\1 << \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00
Sebastian Wilzbach
425ab667a3 Automatically set the range style from a..b -> a .. b
Commands:

sed -E "s/([[:alnum:]])[.][.]([[:alnum:]])/\1 .. \2/g" -i **/*.d
sed -E "s/([[:alnum:]])[.][.] ([[:alnum:]])/\1 .. \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) [.][.]([[:alnum:]])/\1 .. \2/g" -i **/*.d
2017-02-22 05:37:31 +01:00
Sebastian Wilzbach
805c720595 Unify Phobos by ensuring there's always a space after cast(...)
Command:

sed -E 's/([^"])cast\(([^)]*?)\)([[:alnum:]])/\1cast(\2) \3/g' -i **/*.d
2017-02-21 16:40:20 +01:00
Sebastian Wilzbach
5521541032 Unify assert style to have no spaces between the first brace
Application of:

sed -E "s/assert +\(/assert(/" -i **/*.d
2017-02-21 15:27:15 +01:00
Sebastian Wilzbach
87dec58a41 DStyle: Constraints on declarations should have the same indentation level 2017-02-17 07:36:23 +01:00
Jack Stouffer
5a2491a847 Fix Issue 17161 - Revert all changes to std.regex from 2.072.2 onwards 2017-02-12 12:30:40 -05:00
Sebastian Wilzbach
64217c8965 Style fix: specify/remove local imports 2016-12-08 01:46:47 +01:00
Dmitry Olshansky
f8b3eea065 [std.regex] Addressing review comments 2016-10-09 15:35:32 +03:00
Dmitry Olshansky
e98fa4ad5a [std.regex] Fix issue 9391 - const regex, ctRegex is immutable 2016-10-07 01:40:41 +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
99095eebfc ASCII-only version of 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
Jack Stouffer
399b4fa842 Fixed package wide std.algorithm imports in std.regex.internal.ir 2016-07-05 00:13:24 -04:00
Jack Stouffer
f9001ae545 Removed package wide std.range import from std.regex.internal.ir 2016-07-04 15:37:30 -04:00
Jack Stouffer
5698ca33cf Fixed local imports in std.regex.internal.ir 2016-07-01 12:27:33 -04:00
Sebastian Wilzbach
1d34a121e9 apply all-man braces in Phobos
// find common cases
sed -E "s/^(\s*)((if|static if|for|foreach|foreach_reverse|while|unittest|switch|else|version).*)\s*\{$/\1\2\n\1{/" -i **/*.d
// catch else-if
sed -E "s/^(\s*)} (else static if| if|else if|else)(.*)\s*\{$/\1}\n\1\2\3\n\1{/" -i **/*.d
// remove created trailing whitespace
sed -i 's/[ \t]*$//' **/*.d
2016-05-31 13:07:53 +02:00
Mathias Lang
7f53fdfec0 Do not rely on the result of a comma expression
Also add `pragma(inline, true)` to ensure this function stays inlined.
2016-05-27 15:54:26 +02:00
Dmitry Olshansky
680f690939 [std.regex] Inline regex flags 2016-04-30 11:39:05 +03:00
Dmitry Olshansky
c1027f1970 Merge pull request #4246 from wilzbach/sed_spaces_part_2
style fix: add space after 'for' operator
2016-04-27 16:17:18 +04:00
Sebastian Wilzbach
d1714c9afb minor style fixes 2016-04-27 04:18:22 +03:00