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

1552 Commits

Author SHA1 Message Date
3793bf1c99 builtin: optimise the common case of s.contains("x") add s.contains_byte(x) (#17702) 2023-03-19 01:10:13 +03:00
3197ec1a41 v: add compile-time enum evaluation with $for item in MyEnum.fields { dump(item.value) dump(item.name) } (#17517) 2023-03-12 12:46:54 +02:00
f02b423f80 builtin: string test refactor, string functions inlining (#17598) 2023-03-11 20:44:45 +02:00
9fa49da9d5 builtin: add rsplit functions (#17577) 2023-03-11 00:07:02 +01:00
ae6a48c0e3 all: rename it to index in array inits (#17543) 2023-03-08 20:51:45 +01:00
l-m
6f7192359a wasm: bug fixes and memory based changes (#17497) 2023-03-04 11:24:33 +02:00
17000ef7b6 checker: check option fn returning error (fix #17423) (#17438) 2023-03-02 15:49:50 +02:00
l-m
0625caad56 wasm: add a webassembly compiler backend, based on using binaryen (#17368) 2023-02-28 23:58:53 +02:00
93a3f5ff7d builtin, cgen: fix array of struct with map field initialize (fix #17325) (#17340) 2023-02-18 20:34:15 +02:00
2879c5110c cgen, check, parser: implement first-class option type (#17017) 2023-02-18 11:45:01 +02:00
0b7a1cd7ce v: forbid local variable names, shadowing imported module names (#17197) 2023-02-03 09:09:41 +02:00
0874376db0 builtin: fix wrong module name imported in vlib/builtin/linux_bare/old/.checks/linuxsys/linuxsys.v (#17102) 2023-01-24 22:19:30 +02:00
17d65db828 builtin: add string.trim_indent()` method (#17099) 2023-01-24 21:41:25 +02:00
5cd074a49e builtin: improve multi-platform portability for string.split_into_lines() (#17078) 2023-01-24 10:02:25 +02:00
6d223b9a26 builtin: add a map.reserve/1 method (#17052) 2023-01-23 11:07:25 +02:00
413a8b5f87 comptime: implement field.is_enum (#16920) 2023-01-09 20:12:07 +02:00
90941b3b1f all: change optional to option (#16914) 2023-01-09 09:36:45 +03:00
868908b80d checker: require unsafe for Struct(voidptr) casts 2023-01-06 09:28:11 +03:00
a6bf20f3be builtin: add .is_alias to FieldData too (part 1, unimplemented yet) 2022-12-29 12:43:55 +02:00
a8f6f9ed60 checker: more precise error handling of large binary literals like 0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 (#16775) 2022-12-27 15:13:15 +02:00
3d545ee0cd builtin: add more fields to FieldData (will be implemented later in a PR, to ease bootstrapping) 2022-12-26 16:05:14 +02:00
6a179a2926 checker: add int signedness mismatch checking for function call arguments (#16750) 2022-12-24 06:28:35 +02:00
fc5826b7ca cgen: minimise sizeof(EmptyStruct) to 0 for gcc/clang and to 1 for tcc/msvc, by changing EMPTY_STRUCT_DECLARATION and EMPTY_STRUCT_INITIALIZATION (#16733) 2022-12-22 21:47:39 +02:00
e01dac885c builtin: fix m.len to 0, after calling map.clear() (#16720) 2022-12-22 21:36:33 +02:00
f9043c84a7 builtin: optimise the initialisation of the common 1 byte element arrays []u8 2022-12-22 20:41:32 +02:00
8f8a186158 builtin: support -d trace_vmemset, -d trace_vmemcmp, -d trace_vmemmove and -d trace_vmemcpy too 2022-12-22 20:08:53 +02:00
b67705f568 builtin: move the -d trace_*alloc lines at the start of their corresponding functions, implement -d trace_memdup too 2022-12-22 19:36:15 +02:00
3da4f37b01 cgen: improve generated source compatibility with latest Alpine (lacking libexecinfo-dev and execinfo.h) and the prebuilt tcc (#16743) 2022-12-22 15:01:51 +02:00
88e33a83de gg: fix draw_image on macos native; vcreate: vweb template 2022-12-21 19:33:37 +03:00
c84eb29b78 js: use write() on the freestanding backend (#16704) 2022-12-20 13:16:06 +02:00
l-m
f0a252d0e6 builtin: apply .nogrow flags to gcboehm array (#16689) 2022-12-16 07:57:50 +02:00
l-m
acbd93b54c builtin: add .nogrow and .nofree flags to array (#16661) 2022-12-14 09:44:14 +02:00
69f7c45bec builtin: fix array init with array default (#16664) 2022-12-13 18:05:33 +02:00
eb88f7e255 builtin: fix bug with string.split_into_lines, when lines have extra CR's at their end (#16620) 2022-12-09 09:15:50 +02:00
7df8f063ed builtin: fix typo 2022-11-29 14:42:44 +02:00
1d24dbe602 builtin: document string.to_wide() and string_from_wide()/1 2022-11-28 09:46:04 +02:00
73675dca87 builtin: move v_segmentation_fault_handler to builtin.c.v, make it more informative 2022-11-27 12:11:06 +02:00
ef5be22f81 all: replace generic <> with [] - part 2 (#16536) 2022-11-26 18:23:26 +02:00
45854882b9 builtin, cgen: support FieldData.unaliased_typ, use it for generalising x.json2 (able to encode type aliased struct fields) (#16469) 2022-11-20 11:18:14 +02:00
017ace6ea7 vfmt: change all '$expr' to '${expr}' (#16428) 2022-11-15 16:53:13 +03:00
c9ce5f89c7 builtin: fix f32.str() (#16391) 2022-11-11 13:56:45 +02:00
26d643fc5d all: rollback to old interpolation (step 3) (#16380) 2022-11-10 15:05:34 +03:00
ca484430e0 checker: check int overflow for const vars (#16332) 2022-11-06 08:22:28 +03:00
9edb48571f pref,cgen: support -no-bounds-checking, instead of -d no_bounds_checking, and make it enable direct_array_access for all fns/methods. 2022-10-30 14:39:45 +02:00
cc58d6a919 all: string interpolation fixes 2022-10-27 17:52:30 +03:00
e1ffc76efd tests: fix some interpolation tests 2022-10-27 11:12:15 +03:00
18c7da9a5e all: new string interpolation "hello {name}!" 2022-10-27 11:01:01 +03:00
7b8044b8c4 cgen: fix using 'array' name variable in array_init (#16168) 2022-10-23 22:23:15 +03:00
l-m
a139bed785 builtin: add string.trim_indexes method, that can be used in string.trim, but also separately from it (#16144) 2022-10-22 12:56:05 +03:00
a3b050aced vrepl: add support for Home and End keys (#16116) 2022-10-20 20:07:57 +03:00