Enzo
|
886f69bfcf
|
all: use operator overloading on strings (p. 2) (#10183)
|
2021-05-24 11:38:31 +03:00 |
Delyan Angelov
|
7f12bfa563
|
builtin: optimise `sx == sy` in the case where strings have common prefixes
|
2021-05-23 17:22:57 +03:00 |
Delyan Angelov
|
5efd8c62d0
|
ci: fix tests-sanitize-undefined-clang
|
2021-05-23 15:13:53 +03:00 |
Delyan Angelov
|
a27e7f7675
|
builtin: remove commented code; improve print_backtrace with tcc
|
2021-05-23 12:37:40 +03:00 |
Alexander Medvednikov
|
7c0f8f7644
|
builtin: a small optimization in string.replace()
|
2021-05-22 14:35:36 +03:00 |
JalonSolov
|
274c817028
|
builtin.string: optimize split_into_lines (#10081)
|
2021-05-11 18:57:32 +03:00 |
Delyan Angelov
|
e6011e83ce
|
builtin: cleanup string.v
|
2021-05-11 13:59:44 +03:00 |
Uwe Krüger
|
d26ac5692e
|
all: various fixes for [heap]/auto-heap handling (#10033)
|
2021-05-07 15:58:48 +03:00 |
Delyan Angelov
|
2eafea6308
|
v: reduce the memory usage of the compiler (analysed with heaptrack)
|
2021-05-06 11:44:48 +03:00 |
Delyan Angelov
|
84f9789e72
|
v: tag more low level functions with `[direct_array_access]`
|
2021-05-06 00:35:16 +03:00 |
Delyan Angelov
|
597a774d36
|
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of `-o x.c cmd/v`)
|
2021-05-03 14:14:32 +03:00 |
Mark
|
feb60674b4
|
builtin.string: minor fixes in join() (#9952)
|
2021-05-02 19:31:47 +03:00 |
JalonSolov
|
3175525b5e
|
builtin.string: optimize replace (#9969)
|
2021-05-02 19:30:07 +03:00 |
JalonSolov
|
3363c3ef65
|
builtin.string: optimize replace() (#9955)
|
2021-05-01 21:27:49 +03:00 |
Lukas Neubert
|
70c651ff17
|
all: make __global behave consistent with const (#9711)
|
2021-04-19 17:07:47 +03:00 |
Delyan Angelov
|
ded3ce5863
|
builtin: cleanup string.v
|
2021-04-17 12:30:45 +03:00 |
crthpl
|
14434cc86a
|
all: bare metal support (fix `-freestanding`) (#9624)
|
2021-04-14 07:50:50 +02:00 |
Delyan Angelov
|
f04dd21e79
|
builtin: run vfmt over string.v
|
2021-04-13 12:01:23 +03:00 |
Delyan Angelov
|
a1121d0eb0
|
builtin: use 0 instead of `\0` rune when setting C style terminators; use C.memcpy in `[]string{}.join("")`
|
2021-04-13 11:29:33 +03:00 |
Alexander Medvednikov
|
66d3917554
|
builtin: fix C++ compilation
|
2021-04-07 15:25:45 +03:00 |
Delyan Angelov
|
291a88bc62
|
ci: fix some of `v test-cleancode` 4
|
2021-04-05 21:39:32 +03:00 |
Delyan Angelov
|
34aa67b1e8
|
ci: fix compilation and formatting of sqlite example in docs.md
|
2021-04-05 08:09:04 +03:00 |
Delyan Angelov
|
accd4d83bf
|
ci: fix compilation
|
2021-04-04 20:14:51 +03:00 |
Alexander Medvednikov
|
57e6138a61
|
all: remove byteptr and charptr; replace them with &byte and &char
|
2021-04-04 17:43:32 +03:00 |
Alexander Medvednikov
|
bb5958991c
|
checker: warn about automatic (de)referencing; freetype: compilation flag fixes
|
2021-03-26 11:42:51 +03:00 |
Delyan Angelov
|
b7c01db1f9
|
builtin: add .vstring_literal and .vstring_literal_with_len for converting read only strings like os.args
|
2021-03-23 22:10:28 +02:00 |
Delyan Angelov
|
026f8424c2
|
builtin: fix a leak in string.index_kmp
|
2021-03-23 21:48:08 +02:00 |
Delyan Angelov
|
d098a3caca
|
builtin: make string.add() public temporarily till -autofree improves
|
2021-03-23 20:20:53 +02:00 |
Delyan Angelov
|
419ee8ae2a
|
builtin: fix a bug in `[]string.join()`
|
2021-03-23 20:14:46 +02:00 |
Alexander Medvednikov
|
0c055a1ce9
|
all: s.contains(s2) instead of `in`
|
2021-03-23 11:38:56 +03:00 |
Delyan Angelov
|
c76c69ec35
|
all: simplify `return if ...` constructs to make more code compatible with -autofree
|
2021-03-22 16:45:29 +02:00 |
yuyi
|
320cd00203
|
string: fix replace_each() (#9415)
|
2021-03-22 09:46:45 +01:00 |
Delyan Angelov
|
8fa7e67000
|
builtin: use `return s.clone()` instead of `return s` consistently, to make manual free easier
|
2021-03-18 22:23:36 +02:00 |
Delyan Angelov
|
d4e16b6ddd
|
builtin: reduce memory allocations for s.trim, s.trim_left and s.trim_right
|
2021-03-18 19:52:33 +02:00 |
shadowninja55
|
b4f7a975e8
|
builtin.string: optimize string.count where substr.len == 1 (#9337)
|
2021-03-17 00:19:48 +02:00 |
shadowninja55
|
d92f9e77b0
|
builtin.string: optimize string.split_nth() for len == 1 delim (#9325)
|
2021-03-16 20:30:27 +02:00 |
JalonSolov
|
6f550ebbdc
|
string: fix fields method when no whitespace (#9326)
|
2021-03-16 19:45:27 +02:00 |
Alexander Medvednikov
|
93df560cf9
|
builtin: deprecate string.split_by_whitespace in favor of fields()
|
2021-03-16 08:29:14 +03:00 |
Alexander Medvednikov
|
667a26335f
|
builtin: fix substr()
|
2021-03-15 21:16:23 +01:00 |
Alexander Medvednikov
|
77d5fcca59
|
urllib: a temporary autofree fix
|
2021-03-15 21:12:11 +01:00 |
Delyan Angelov
|
d65ad68e77
|
builtin: add 0 terminators for strings returned by .to_lower, .to_upper, utf32_to_str_no_malloc/2
|
2021-03-14 18:21:45 +02:00 |
Stanislav Ershov
|
c190b6a131
|
vlib: remove older deprecated functions (#8864)
|
2021-02-20 20:42:55 +02:00 |
Nick Treleaven
|
4a0367a63c
|
vlib: add [unsafe] tag to more functions: tos, string_from_wide, strings.Builder: write_bytes, free (#8766)
|
2021-02-15 17:15:52 +02:00 |
Nick Treleaven
|
ea803113c3
|
checker: check `unsafe` V function calls (#8752)
|
2021-02-14 19:31:42 +01:00 |
Lukas Neubert
|
473cd1d416
|
fmt: single line ternary return (#8605)
|
2021-02-08 00:28:46 +01:00 |
Alexander Medvednikov
|
a81ee0e94e
|
tools/fast: measure v.c size and parse/check/cgen steps
|
2021-02-07 04:48:54 +01:00 |
Alexander Medvednikov
|
216fea1eb3
|
string: remove left/right (one way!)
|
2021-01-22 10:26:07 +01:00 |
Alexander Medvednikov
|
5815d96418
|
Revert "builtin: make string.(left|right) pub (#8245)"
This reverts commit 820e684313 .
|
2021-01-22 10:09:31 +01:00 |
zakuro
|
820e684313
|
builtin: make string.(left|right) pub (#8245)
|
2021-01-22 09:35:32 +02:00 |
Lukas Neubert
|
ac2c3847af
|
all: update copyright to 2019-2021 (#8029)
|
2021-01-18 13:20:06 +01:00 |
yuyi
|
aeddd5b559
|
string: minor optimization (fix #8100) (#8106)
|
2021-01-15 02:26:06 +01:00 |
Alexander Medvednikov
|
3e04dfc79f
|
builtin: fix byte.str() (part 1)
|
2021-01-05 18:59:51 +01:00 |
Delyan Angelov
|
84fc9cec4b
|
builtin: add string.split_by_whitespace()
|
2020-12-29 08:46:46 +02:00 |
yuyi
|
b47daad40d
|
all: remove redundant array.contains definitions (#7464)
|
2020-12-22 08:32:32 +01:00 |
Larpon
|
1ff6230062
|
builtin: document all functions in string.v (#7273)
|
2020-12-12 12:10:29 +02:00 |
Alexander Medvednikov
|
d319fe14f0
|
string: fix a one byte leak in .substr()
|
2020-12-11 05:12:18 +01:00 |
Alexander Medvednikov
|
a297cf8676
|
string: fix one byte leak in clone()
|
2020-12-11 05:03:37 +01:00 |
Seven Du
|
4a35a75b64
|
json: fix raw json string decoding crash when expected key is missing (#7206)
|
2020-12-09 20:10:41 +01:00 |
Andréas Livet
|
a2ec52b8c4
|
builtin: rewrite string.split_nth and fix some bugs (#7189)
|
2020-12-08 10:51:47 +02:00 |
yuyi
|
215a76a715
|
string: make `tos_lit` deprecated (#7129)
|
2020-12-04 20:34:58 +02:00 |
yuyi
|
06eaded6ea
|
string: change `tos_lit` to `_SLIT` (#7079)
|
2020-12-03 16:02:48 +01:00 |
Alexander Medvednikov
|
86b5f7ef5d
|
string: fix ustring.free()
|
2020-11-28 03:41:43 +01:00 |
Daniel Däschle
|
52b627feb3
|
checker: check filter, map and sort left type (#6952)
|
2020-11-26 11:28:54 +01:00 |
Swastik Baranwal
|
00464ad988
|
builtin: add charptr.vstring() and charptr.vstring_with_len() (#6830)
|
2020-11-14 19:43:42 +02:00 |
Alexander Medvednikov
|
6d11caf784
|
autofree: string.replace() test
|
2020-10-21 19:44:31 +02:00 |
Alexander Medvednikov
|
7da1afa140
|
all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests
|
2020-10-15 12:32:28 +02:00 |
Delyan Angelov
|
ce302c29e4
|
builtin: support also [abc,def].sort(b>a)
|
2020-10-06 21:33:15 +03:00 |
Henrixounez
|
c324169af0
|
all: remove intermediate handling for both global definition syntaxes (#6546)
|
2020-10-03 15:41:45 +02:00 |
Delyan Angelov
|
d2badcdedf
|
vlib: fix more C warns on windows
|
2020-09-18 13:40:47 +03:00 |
Oghogho Odemwingie
|
332f3a924c
|
builtin: consume matched string length in string.replace_each (#6349)
|
2020-09-12 02:31:06 +02:00 |
Alexander Medvednikov
|
4bc0dde413
|
all: new `.sort(a < b)` syntax
|
2020-08-12 05:54:51 +02:00 |
Delyan Angelov
|
36eae1c175
|
builtin: x.vstring() instead of string(x) (#6102)
|
2020-08-10 18:05:26 +02:00 |
Nick Treleaven
|
2dd90de993
|
parser: error on `[unsafe_fn]` (#6090)
|
2020-08-09 12:22:11 +03:00 |
Alexander Medvednikov
|
c65dbe51d6
|
parser: c2v fixes
|
2020-08-09 03:58:14 +02:00 |
Lukas Neubert
|
f2c639c869
|
builtin: add string.contains_any() (#5963)
|
2020-07-29 21:48:50 +02:00 |
Nick Treleaven
|
ee349691f9
|
v/checker: Warn about pointer indexing outside unsafe {} (#5918)
|
2020-07-22 20:28:53 +03:00 |
Nick Treleaven
|
a74cbf55c7
|
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869)
|
2020-07-20 20:06:41 +03:00 |
Nick Treleaven
|
fb76e02c59
|
builtin: speed up string.clone() by using C.memcpy (#5837)
|
2020-07-20 17:44:35 +03:00 |
Nick Treleaven
|
105a0e015e
|
checker: warn if unsafe method called outside unsafe block (#5863)
|
2020-07-17 19:14:12 +02:00 |
Nick Treleaven
|
f5e6a83a05
|
builtin: unsafe vlib pointer indexing (#5836)
|
2020-07-15 21:56:50 +02:00 |
ka-weihe
|
df45488e09
|
cgen: fix warnings (#5820)
|
2020-07-14 00:16:31 +02:00 |
Swastik Baranwal
|
b5b5176f9b
|
string: add filter method (#5812)
|
2020-07-12 21:07:28 +03:00 |
Alexander Medvednikov
|
ab3c1f2a08
|
prealloc: skip frees for now
|
2020-07-11 13:22:18 +02:00 |
Uwe Krüger
|
646df49c74
|
builtin: fix string.hash method for `gcc -O2` (#5794)
|
2020-07-11 01:18:52 +03:00 |
Delyan Angelov
|
7248d8422e
|
vfmt: keep `vproto.Name`, when current module is `proto`
|
2020-07-11 00:59:19 +03:00 |
Delyan Angelov
|
78e1127d99
|
cgen: treat the main module like any other v module
|
2020-07-01 00:53:53 +02:00 |
Delyan Angelov
|
2fd960f12c
|
builtin: implement a double free detection for v strings
|
2020-06-30 18:32:04 +03:00 |
nyaascii
|
f10d2bb75f
|
string: fix trim_prefix and trim_suffix methods (#5572)
|
2020-06-30 15:44:53 +02:00 |
Emily Hudson
|
c84bafbdae
|
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax
|
2020-06-27 21:46:04 +02:00 |
yuyi
|
7efb3ecb34
|
checker: check deprecated functions
|
2020-06-23 16:25:24 +02:00 |
Swastik Baranwal
|
0052ab71e9
|
string: add map method
|
2020-06-17 12:26:55 +02:00 |
yuyi
|
2ef0f15b34
|
string: fix contains behaviour (closes #5371)
|
2020-06-14 19:24:15 +10:00 |
Alexander Medvednikov
|
af27963938
|
string: do not free empty strings
|
2020-06-12 17:20:51 +00:00 |
Alexander Medvednikov
|
5dcd2303c9
|
builtin: fix string.fields()
|
2020-06-09 10:15:20 +02:00 |
Alexander Medvednikov
|
dabfc4ebd0
|
checker: do not display errors for incorrectly initialized vars
|
2020-06-08 13:10:47 +02:00 |
Uwe Krüger
|
076089d3c5
|
checker: apply stricter type checks to function args and return types
|
2020-06-01 21:15:59 +02:00 |
Delyan Angelov
|
97b9ce04a4
|
crypto.rand: cleanup test, make it less likely to fail in CI
|
2020-06-01 07:49:52 +03:00 |
Delyan Angelov
|
481f103dc9
|
checker: make an error using non `pub` fns from other modules
|
2020-05-27 12:00:19 +03:00 |
Uwe Krüger
|
013fdb8a4b
|
checker: restrict numeric promotions to cases where no data is lost
|
2020-05-27 05:42:48 +02:00 |
Alexander Medvednikov
|
f41e2c0a4b
|
string: make replace() clone for now; parser: comptime method
|
2020-05-25 08:17:36 +02:00 |