1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

1101 Commits

Author SHA1 Message Date
spaceface
b712af56fd
all: bring back panic(err.msg) -> panic(err) (#9022) 2021-03-01 00:18:14 +01:00
zakuro
ce115dcbe0
builtin: correct error underline for unicode wide chars (#9010) 2021-03-01 00:18:02 +01:00
spaceface
d63b7bc35a
all: update repo to use the new error handling syntax (#8950) 2021-02-28 23:20:21 +03:00
spaceface
b9a381f101
all: migrate to the new Option (p. 1) (#8924) 2021-02-28 22:24:29 +03:00
Delyan Angelov
20f9bdfa8e
os: fixes for os.input(), os.get_raw_stdin(), os.get_raw_line() in case of stdin EOF 2021-02-27 20:02:36 +02:00
Nick Treleaven
23f231ee61
builtin: tag array methods unsafe: *_many, grow_len, pointers (#8983) 2021-02-26 22:55:09 +01:00
spaceface
8033203ef6
builtin: add an Option2 struct (#8890) 2021-02-22 18:44:15 +02:00
Nick Treleaven
15daeaeafa
cgen: add fixed array bounds checking for non-literal index (#8832) 2021-02-22 14:54:24 +02:00
zakuro
f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write (#8892) 2021-02-22 13:18:11 +02:00
yuyi
9a744b6750
cgen: fix in map_literal (fix #8868) (#8871) 2021-02-21 11:54:30 +02:00
Stanislav Ershov
c190b6a131
vlib: remove older deprecated functions (#8864) 2021-02-20 20:42:55 +02:00
Stanislav Ershov
6a752512b2
os: fix os.real_path on Windows (#8822) 2021-02-19 11:20:06 +02:00
Delyan Angelov
bf6e9ff95a
Revert "parser: make duplicated functions an error (#8792)"
This reverts commit 21bf8fe14e.
2021-02-18 09:02:56 +02:00
zakuro
21bf8fe14e
parser: make duplicated functions an error (#8792) 2021-02-17 20:50:10 +01:00
Nick Treleaven
4ccf991f61
checker: warn when casting a fixed array (use &arr[0] instead) (#8787) 2021-02-17 20:45:11 +01:00
yuyi
177c8bfc78
builtin/array: merge array_eq_test.v into array_test.v (#8796) 2021-02-17 20:44:44 +01:00
Delyan Angelov
843de10442
parser,gen: fix `arr << map[key] using map_get_and_set_1, leading to double free 2021-02-16 16:39:31 +02:00
Quix
486bf8517f
builtin: fix typo (#8747) 2021-02-15 17:54:07 +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
b07f373433
builtin: make 5 C functions trusted, tweak signatures (#8730) 2021-02-14 19:37:32 +01:00
Nick Treleaven
ea803113c3
checker: check unsafe V function calls (#8752) 2021-02-14 19:31:42 +01:00
zakuro
e4f15605c0
checker: reject void type condition (#8737) 2021-02-14 07:33:24 +01:00
Nick Treleaven
84a16d8684
map: add move method (#8660) 2021-02-12 02:02:33 +02:00
Bobitsmagic
0f92485698
builtin: fix typo in builtin/array.v (#8658) 2021-02-09 17:04:47 +02:00
Nick Treleaven
9e751f72c4
doc, fmt: use map{key: value} syntax for map literals (#8623) 2021-02-08 16:57:42 +02:00
Lukas Neubert
473cd1d416
fmt: single line ternary return (#8605) 2021-02-08 00:28:46 +01:00
Larpon
bfd0bd1fb4
builtin: doc chan.v channel stub (#8577) 2021-02-07 12:42:24 +02:00
Alexander Medvednikov
a81ee0e94e tools/fast: measure v.c size and parse/check/cgen steps 2021-02-07 04:48:54 +01:00
Delyan Angelov
d77bb2f606
all: improve -skip-unused, track consts, walk all AST nodes, support tests 2021-02-07 02:51:45 +02:00
Nick Treleaven
f5f65f929f
parser: parse map{key_expr: val_expr} (#8608) 2021-02-06 22:13:24 +01:00
Larpon
e83c39c81a
builtin: document rest of map.v (#8578) 2021-02-06 03:07:42 +01:00
Larpon
57258c2988
builtin: document remaining pub structs in builtin.v (#8576) 2021-02-05 21:02:29 +01:00
Larpon
44ab0154b2
builtin: document last of array.v (#8575) 2021-02-05 16:51:45 +01:00
Delyan Angelov
119dfc0bb0
all: support map[f32]string and map[f64]string (float map keys) too (#8556) 2021-02-04 23:59:49 +01:00
BigBlack
c5e7956eb5
checker: fix generic_mutable_arrays in functions (#8445) 2021-01-30 18:35:03 +01:00
Nick Treleaven
64d12cdc8d
checker: check number of C function arguments for some cases (#8444) 2021-01-30 18:33:36 +01:00
Daniel Däschle
2cadb3e4d8
gen: panic with correct type names (#8355) 2021-01-30 18:54:05 +02:00
yuyi
77b3d40f46
checker: fix map = {} (#8435) 2021-01-30 11:55:10 +01:00
Delyan Angelov
4fcd8d8a98
scanner: fix ' "$var", "$another"' where r", was treated as start of a raw string 2021-01-28 15:38:42 +02:00
Lukas Neubert
75d85403a6
fmt: better ternary concat wrapping (#8379) 2021-01-28 11:23:48 +01:00
zakuro
22847d1ec3
fmt: assert (a == b) -> assert a == b (#8351) 2021-01-26 10:36:21 +01:00
Major Taylor
69c37402d4
backtrace: fix tcc backtrace windows compilation error (#8348) 2021-01-26 08:26:54 +02:00
Delyan Angelov
4d0dab826b
ci: fix vlib/dl/example/use_test.v in windows-tcc 2021-01-25 21:19:15 +02:00
Delyan Angelov
dbaccd4272
vfmt: shorten main.const_name to just const_name 2021-01-25 20:57:33 +02:00
Swastik Baranwal
21ba0470af
builtin: fix truncating of EOL on windows terminal (#8338) 2021-01-25 17:51:36 +02:00
Alexander Medvednikov
29d6e40f29 all: vfmt (new const rule) 2021-01-24 10:54:27 +01:00
Lukas Neubert
8b61891348
fmt: smarter if condition wrapping (#8201) 2021-01-23 10:33:22 +02:00
Alexander Medvednikov
43d56cb883 string: update the test 2021-01-22 10:33:06 +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
yuyi
242c5760f1
array: fix array_clone (fix #8220) (#8238) 2021-01-21 10:17:00 +01:00
spaceface
f059a9e96c
builtin: fix sorting arrays of primitives (#8204) 2021-01-20 23:19:35 +02:00
Delyan Angelov
d9532eda30
checker: error on a.slice(x,y) outside builtin 2021-01-19 15:55:52 +02:00
Uwe Krüger
b74690cbec
builtin, checker, cgen: implement x = a[k] or { ... } for maps and arrays (#8193) 2021-01-19 06:06:57 +01:00
Lukas Neubert
ac2c3847af
all: update copyright to 2019-2021 (#8029) 2021-01-18 13:20:06 +01:00
Delyan Angelov
995f27a7c0
builtin,os: use more precise C. declarations for C.fread, C.fwrite and C.qsort 2021-01-15 12:15:31 +02:00
yuyi
aeddd5b559
string: minor optimization (fix #8100) (#8106) 2021-01-15 02:26:06 +01:00
Delyan Angelov
9003ea7ca3
builtin: fix a warning for -d debug_realloc 2021-01-14 12:28:49 +02:00
Delyan Angelov
ca5f88eb7d
builtin: implement -d debug_realloc 2021-01-14 11:41:52 +02:00
yuyi
a2efb5319d
all: change [1,2,3]!! to [1,2,3]! (#8101) 2021-01-14 03:51:13 +01:00
yuyi
1d28c4de2a
cgen: fix multi fixed arrays with default init (fix #8038) (#8064) 2021-01-13 22:57:33 +02:00
yuyi
ae592299dc
cgen: fix fixed arrays literal eq (#8079) 2021-01-13 08:32:41 +01:00
zakuro
254df0ca62
fmt: improve string quotes (#8075) 2021-01-13 06:05:27 +01:00
zakuro
33694665f0
fmt: align each contiguous field of struct. not the whole. (#7981) 2021-01-12 04:38:43 +01:00
yuyi
1559e72d0d
cgen: add gen_fixed_array_equality_fn (#8006) 2021-01-12 01:35:18 +01:00
Uwe Krüger
5f95dd54bd
builtin: rename any_* -> *_literal - 2. part (#8032) 2021-01-11 22:58:15 +01:00
yuyi
39bb6f0491
array: fix array of multi filter/map in one assignment (fix #7858) (#7976) 2021-01-10 21:08:45 +01:00
yuyi
704f38d87f
parser: fix multi fixed arrays init (#7996) 2021-01-10 06:58:31 +01:00
Uwe Krüger
cbe7740d97
fmt: do not generate import statements for auto imports (#7966) 2021-01-08 17:42:40 +01:00
Nick Treleaven
cbefe6c32f
parser: warn about old use of typeof (#7923) 2021-01-07 20:32:02 +01:00
Larpon
dcc8310bd0
builtin: fix comment examples in int.v (#7902) 2021-01-06 20:02:04 +02:00
Larpon
e219f954d8
builtin: document all functions in float.v (#7904) 2021-01-05 23:01:10 +01:00
Alexander Medvednikov
5c4c4354b1 byte: more tests 2021-01-05 19:34:42 +01:00
Alexander Medvednikov
3722e16073 builtin: fix byte.str() (part 2) 2021-01-05 19:26:50 +01:00
Alexander Medvednikov
5a70eba8e1 all: byte.str() => byte.ascii_str() 2021-01-05 19:14:37 +01:00
Larpon
fdb6f1ab50
builtin: int.v workaround vfmt bug (#7899) 2021-01-05 20:09:20 +02:00
Nick Treleaven
8fc33bc27d
checker: warn when casting number or a voidptr to reference type outside unsafe (#7900) 2021-01-05 20:07:45 +02:00
Alexander Medvednikov
3e04dfc79f builtin: fix byte.str() (part 1) 2021-01-05 18:59:51 +01:00
Delyan Angelov
95431cf6b0
builtin: fix the comment example in byte.str_escaped() 2021-01-05 18:22:17 +02:00
Larpon
9b9cab92f0
builtin: document all functions in int.v (#7896) 2021-01-05 17:45:36 +02:00
Delyan Angelov
f2bfda4989
ci: skip test_utf8_wide_char on windows with msvc 2021-01-04 00:16:31 +02:00
Delyan Angelov
760de7c811
ci: use more reliable asserts for test_utf8_wide_char 2021-01-03 22:15:18 +02:00
Nick Treleaven
38e0aa350d
checker: support non-string map.keys method (#7760) 2021-01-03 15:55:06 +01:00
Swastik Baranwal
dee3bbffe9
cgen: support .str() for maps with non string keys (#7806) 2021-01-02 20:25:46 +02:00
yuyi
7f776bfd29
utf8: fix utf8_test (#7804) 2021-01-02 14:55:21 +02:00
Nick Treleaven
0a069dee79
gen: support non-string map equality and speed it up (#7682) 2021-01-01 20:54:49 +01:00
Nick Treleaven
9243e06dba
parser: allow integer and rune keys for map literal (#7756) 2021-01-01 17:23:32 +01:00
clubby789
bf7da14ba1
cgen: make char literals wide (#7769) 2021-01-01 11:06:09 +02:00
yuyi
7ce3c5e206
os: change os.mv/2 return type to ? (#7738) 2020-12-31 11:33:39 +02:00
yuyi
34c89258a4
cgen: fix array of array/map init (fix #7597) (#7671) 2020-12-29 11:50:25 +01:00
Delyan Angelov
84fc9cec4b
builtin: add string.split_by_whitespace() 2020-12-29 08:46:46 +02:00
Swastik Baranwal
2795f929fa
checker: update check for arr=arr1 (#7651) 2020-12-28 18:35:34 +01:00
yuyi
9631eac9c5
cgen: fix array.index() of ref struct (#7652) 2020-12-28 18:33:57 +01:00
ka-weihe
93262353d6
cgen: fix map exists bug (#7647) (#7655) 2020-12-28 18:32:51 +01:00
yuyi
d46b930c71
cgen: fix in array_of_ref_structs (fix #7623) (#7640) 2020-12-28 12:29:56 +02:00
yuyi
07459a77e3
cgen: fix gen_array_equality_fn() (#7633) 2020-12-28 12:26:50 +02:00
yuyi
547df57316
cgen: fix gen_map_equality_fn() (#7636) 2020-12-28 12:22:14 +02:00
ka-weihe
1d339cff16
map: remove unused code (#7622) 2020-12-27 19:16:45 +01:00
Swastik Baranwal
d87011ab78
cgen: fix generic contains method (#7618) 2020-12-27 20:07:53 +02:00
ka-weihe
b9df7aae4d
map: cleanup (#7621) 2020-12-27 18:31:50 +01:00
Nick Treleaven
e813583bc1
checker: support integer and voidptr key types for maps (#7503) 2020-12-27 14:18:46 +01:00
Alexander Medvednikov
06e9951224 Revert "map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538)"
This reverts commit bcdf3ca0cf.
2020-12-27 12:04:08 +01:00
Nick Treleaven
bcdf3ca0cf
map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538) 2020-12-27 11:54:12 +01:00
zakuro
21805ea2a5
all: make eprint[ln] behave same as print[ln] (#7595) 2020-12-27 11:22:16 +01:00
yuyi
775d16cce3
array: remove redundant index method in array.v (#7523) 2020-12-25 17:21:23 +02:00
spaceface
214290d55b
fmt: add a space around single-line unsafe expressions (#7505) 2020-12-23 19:13:42 +01:00
yuyi
132807d5d1
cgen: implement generic array.index (#7501) 2020-12-23 19:10:16 +01:00
yuyi
70c136441b
cgen: fix in array of struct error (fix #7452) (#7463) 2020-12-23 02:32:19 +01:00
yuyi
b47daad40d
all: remove redundant array.contains definitions (#7464) 2020-12-22 08:32:32 +01:00
yuyi
21cd765eaa
cgen: fix in multi_array, generate .contains() (fix #7427) (#7448) 2020-12-21 16:59:43 +01:00
Nick Treleaven
0edec06eac
gen: use new_map, new_map_init_1 functions (#7444) 2020-12-21 14:37:19 +01:00
Nick Treleaven
2147d8785b
map: add functions new_map/new_map_init_1 with key_bytes parameter (#7424) 2020-12-21 06:03:59 +01:00
Nick Treleaven
82d1b6a5b7
map: fix wrong use of map.cap and rename field (#7412) 2020-12-21 05:34:35 +01:00
Alexander Medvednikov
50a6976b5e all: minor array fixes 2020-12-20 16:08:56 +01:00
Alexander Medvednikov
6bf21c300a checker: do not allow arr1=arr2 without cloning 2020-12-20 15:33:55 +01:00
Alexander Medvednikov
875f7a77a9 checker: arr1=arr2 warning 2020-12-20 10:42:46 +01:00
Alexander Medvednikov
4a5fb854e0 array: vfmt array_test.v 2020-12-20 10:34:19 +01:00
Delyan Angelov
cd30dcc287
builtin: make array.ensure_cap/1 more robust 2020-12-19 21:36:08 +02:00
Alexander Medvednikov
1f74f83bc6 parser: map or block; checker: require ref field init 2020-12-19 10:28:17 +01:00
yuyi
e4973782b1
cgen: fix multi_array prepend/insert (#7381) 2020-12-19 07:28:15 +01:00
yuyi
598d18cbd9
cgen: fix default zero in map fields (fix #7328) (#7394) 2020-12-19 06:55:13 +01:00
Nick Treleaven
042449cd3d
cgen: use voidptr key methods: map_get_1, map_set_1, map_get_and_set_1 (#7390) 2020-12-19 01:05:16 +02:00
Larpon
6854ba27e2
builtin: add missing fn documentation to option.v, fix naming of arguments. (#7386) 2020-12-19 00:27:35 +02:00
Larpon
c32547f382
builtin: document all functions in builtin.c.v (#7387) 2020-12-18 19:31:00 +02:00
Nick Treleaven
3976228ae0
map: add voidptr key methods (#7377) 2020-12-18 07:37:59 +01:00
Ned Palacios
c164586fd5
cgen: fix map clone (#7366) 2020-12-17 08:44:50 +01:00
Emily Hudson
553ecf63e7
vlib/io: fix reader bugs, make read_all take a config struct (#7361) 2020-12-16 18:22:26 +01:00
joe-conigliaro
a7879ce77e
parser: differentiate recursive alias & existing type err + rune fix 2020-12-16 18:03:49 +11:00
Nick Treleaven
7c8fa62cc2
map: encapsulate key clone operation on voidptr (#7327) 2020-12-16 02:23:59 +01:00
Delyan Angelov
5684ed5a8a
ci: fix windows jobs 2020-12-15 11:01:51 +02:00
Swastik Baranwal
b2685c6060
builtin: add more docs to array.v (#7194) 2020-12-15 10:31:35 +02:00
Delyan Angelov
d155d8d3f0
vlib: prepare atoi.v and utf8.v for -Wimpure-v 2020-12-15 10:17:46 +02:00
Delyan Angelov
14d55d26a3
vlib: extract C. calls from builtin.v to builtin.c.v 2020-12-15 09:41:06 +02:00
Delyan Angelov
0da1d757cb
builtin: support '-d no_backtrace' directly in panic(), to ease creating .so files with tcc 2020-12-15 06:35:21 +02:00
Nick Treleaven
89ef316db3
map: use voidptr-based key equality and meta index methods (#7320) 2020-12-14 14:57:53 +02:00
Nick Treleaven
999fe846e5
vtest-cleancode: add builtin/map.v to fmt list (#7285) 2020-12-14 12:31:24 +02:00
ka-weihe
f57c7032b4
ci: fix sanitizers and add -fsanitize=undefined (#7306) 2020-12-14 06:34:47 +01:00
Delyan Angelov
ecfd124390
builtin: call C.tcc_backtrace() directly in the panic() fns 2020-12-13 11:01:04 +02:00
LilEnvy
0aacc9a80a
array: [].map(fn...) return type can be different than original type (#7300) 2020-12-13 03:29:48 +01:00
Nick Treleaven
ae460a2208
map: make DenseArray.has_index not assume string keys (#7284) 2020-12-13 02:05:56 +01:00
Delyan Angelov
03f644e099
builtin: change V's panic() to not segfault; use -d panics_break_into_debugger to override 2020-12-12 16:05:22 +02:00
Larpon
1ff6230062
builtin: document all functions in string.v (#7273) 2020-12-12 12:10:29 +02:00
Nick Treleaven
d785e22a6e
checker: disallow assigning number to pointer (#7267) 2020-12-12 10:42:07 +01: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
Leah Lundqvist
90c1c639fe
js: types (#7108) 2020-12-08 17:49:20 +01:00
Andréas Livet
a2ec52b8c4
builtin: rewrite string.split_nth and fix some bugs (#7189) 2020-12-08 10:51:47 +02:00
Uwe Krüger
fd689f5fdd
cgen: optimize array op assign (#7178) 2020-12-07 17:13:19 +01:00