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

10905 Commits

Author SHA1 Message Date
yuyi
f2be115f7d
parser: fix the incorrect location of the type declaration name (#14879) 2022-06-29 16:14:03 +03:00
Joe Conigliaro
1b0754e4f3
gen.golang: correct use of const github_job 2022-06-29 21:15:46 +10:00
Joe Conigliaro
c3866bb7b1
gen.golang: skip tests only on ubuntu-docker-musl 2022-06-29 21:11:28 +10:00
Joe Conigliaro
5462f06d6c
gen.golang: correct error message 2022-06-29 19:09:36 +10:00
yuyi
f8461e2b3c
parser: check const declaration using multiple assign (#14886) 2022-06-29 12:03:56 +03:00
ghosttk
fae26197b9
os: add exo-open to the list of tried launchers in os.open_uri/1 (#14884)
Add 'exo-open' for xfce4 desktop environment.
2022-06-29 11:59:25 +03:00
Hitalo de Jesus do Rosário Souza
c481b80ec3
docs: add a jwt example to vlib/crypto/README.md (#14872) 2022-06-29 11:57:05 +03:00
Joe Conigliaro
51649b924b
gen.golang: dont push run_args in run_file assignent 2022-06-29 18:54:26 +10:00
Joe Conigliaro
eec60a3018
gen.golang: add run support & testrunner 2022-06-29 18:49:53 +10:00
yuyi
3ae59a7837
checker: optimize casting sumtype error message (fix #14023) (#14877) 2022-06-28 17:13:58 +03:00
Delyan Angelov
b47d35a0bb ci: compile golang_builder.v without warnings (fix v -prod build-tools) 2022-06-28 15:00:54 +03:00
Delyan Angelov
2bcbd0b636
ci: comment unused import strings 2022-06-28 14:16:39 +03:00
Delyan Angelov
6165b119f6
scanner,parser,checker: do show the first error on -Wfatal-errors 2022-06-28 14:05:32 +03:00
Alexander Medvednikov
64b8284419 go: remove unused code (comments) 2022-06-28 11:14:48 +03:00
yuyi
ce6bc2c26d
checker: handle void in struct field init (fix #13944) (#14876) 2022-06-28 11:06:25 +03:00
Alexander Medvednikov
a4eb5b6356 gen: basic initial work on the Go backend 2022-06-28 09:41:15 +03:00
Emirhan Yener
28068e8ecf
gg: add draw_polygon_filled test (#14871) 2022-06-28 08:30:45 +03:00
yuyi
42df154399
ast: add elem_type_pos to ChanInit (#14873) 2022-06-28 08:30:02 +03:00
yuyi
09630dd0bc
parser: check interface name using single letter capital (#14878) 2022-06-28 08:29:23 +03:00
Emirhan Yener
6b2d3a826b
gg: add draw_polygon_filled fn with rotation parameter (#14867) 2022-06-27 21:34:43 +03:00
yuyi
6be287d476
cgen: minor cleanup in ref_or_deref_arg() (#14862) 2022-06-27 21:33:35 +03:00
yuyi
044698746e
parser: minor cleanup in parse_type.v (#14863) 2022-06-27 21:33:18 +03:00
Larpon
2d40ba1f49
cgen: call GC_INIT in sokol_main too, when compiling with -apk (#14869) 2022-06-27 21:24:39 +03:00
Delyan Angelov
b1a14c6cf7
tests: use a platform neutral module with C declarations (sokol.audio), instead of time in private_redeclaration_of_C_timeval.vv . 2022-06-27 19:48:46 +03:00
Delyan Angelov
94d6670e8f
checker: make the type C.X is private re-declaration error more informative 2022-06-27 18:32:21 +03:00
Delyan Angelov
0ef8382824
tests: show timing info in the output of run_project_folders_test.v 2022-06-27 18:31:07 +03:00
yuyi
1af94c7edf
checker: fix error for array_of_aliases.pop() (#14861) 2022-06-27 11:50:46 +03:00
WoodyAtHome
34517c340d
net: support blocking sockets in TcpSocket.connect (#14849) 2022-06-27 11:01:55 +03:00
yuyi
ef7f9779a3
parser, checker: fix postfix expr check (fix #14852) (#14857) 2022-06-27 04:28:24 +03:00
yuyi
5a79a54fe4
all: fix all remaining unsafe 0 (#14856) 2022-06-26 17:04:23 +03:00
Alexander Medvednikov
cb60392302 examples: fix unsafe 0 2022-06-26 07:12:15 +03:00
Alexander Medvednikov
ca30397e7a cli: fix compilation 2022-06-26 07:08:05 +03:00
Alexander Medvednikov
e76f74fd73 checker: unsafe 0 for references (default value) 2022-06-26 06:40:40 +03:00
yuyi
546f9a544f
parser: fix a typo in an error message (#14848) 2022-06-26 00:04:08 +03:00
Emirhan Yener
d42aadda0f
gg: fix draw arch functions alpha color (#14850) 2022-06-26 00:03:43 +03:00
yuyi
ef643e106b
checker: check unknown chan element type (#14843) 2022-06-25 05:19:41 +03:00
yuyi
90287f6aaa
checker: check error for cast sumtype (fix #14771) (#14847) 2022-06-25 05:19:16 +03:00
Wertzui123
c10ba6d81a
os: add .cmd to the list of Windows executable suffixes (#14839) 2022-06-23 20:12:29 +03:00
Larpon
298dc77c38
ci: add pure -os android checks (#14837) 2022-06-23 11:22:55 +03:00
yuyi
e9a8f5fcc7
cgen: fix ref_struct.str() with null pointer (#14836) 2022-06-23 08:35:21 +03:00
Wertzui123
587101a1ea
os: fix find_abs_path_of_executable function (on Windows) (#14835) 2022-06-23 03:36:15 +03:00
l-m
ed8c63cc0b
builtin: add a contains_only method on string (#14830) 2022-06-23 01:41:42 +03:00
Dialga
5cd5d551e3
v.pkgconfig: fix building standalone pkgconfig (#14825)
* Update main.v

* add test to prevent future regressions

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2022-06-22 22:38:50 +03:00
yuyi
e6c3de2f46
cgen: format cgen.init() generated c codes (#14824) 2022-06-22 21:39:15 +03:00
Larpon
3fb88500a2
os: improve Android interop (#14827) 2022-06-22 21:38:27 +03:00
yuyi
585b5145fa
cgen: fix auto string method generated for []&int{len:1} (#14829) 2022-06-22 14:54:04 +03:00
pancake
23d1c792c0
native: fix macho generation for macos11-amd64 (#14821) 2022-06-22 11:58:27 +03:00
yuyi
c64c4907a2
parser: check closure var name conflict (#14823) 2022-06-22 09:04:15 +03:00
ghosttk
8172fecb51
vweb: remove the extra '/' in scan_static_directory (#14806) 2022-06-21 15:13:09 +03:00
yuyi
c160ba2a8d
checker: stricter mutable reference check (fix #14803) (#14805) 2022-06-21 13:23:21 +03:00
yuyi
cab6355a38
cgen: fix array of reference sumtype index() (#14812) 2022-06-21 12:37:54 +03:00
Ulises Jeremias Cornejo Fandos
e505fcdac0
encoding.csv: update reader.v (#14807) 2022-06-21 08:31:47 +03:00
yuyi
f6f77e5264
clipboard: make clipboard.Clipboard public on windows (#14810) 2022-06-21 08:21:54 +03:00
David 'Epper' Marshall
524df8da1b
math: add zpl stuff (#14543) 2022-06-21 00:17:49 +03:00
Delyan Angelov
473d26ce47 builtin: enforce linking to libgc.a with -prod on macos 2022-06-20 21:29:27 +03:00
pancake
1caff5b379
native: initial support for apple-m1 (#14795) 2022-06-20 21:25:12 +03:00
yuyi
8703e336e0
checker: cleanup in fn_decl() (#14802) 2022-06-20 17:56:02 +03:00
Delyan Angelov
0e4198f23b
tools: fix v vet file.v for return if x { y // comment } else { z } 2022-06-20 13:29:22 +03:00
yuyi
cf1fc6f090
ast: fix array of reference sumtype appending (#14797) 2022-06-20 12:23:53 +03:00
Alexander Medvednikov
924239026c pref: disable gc for translated code 2022-06-19 20:07:45 +03:00
Alexander Medvednikov
bc60b0d1a3 builder: add -c when building object files 2022-06-19 19:57:52 +03:00
Alexander Medvednikov
d215618f4c sokol: mark pub structs 2022-06-19 19:47:47 +03:00
yuyi
de136f6baf
checker: improve pub struct check (fix #14446) (#14777) 2022-06-19 17:42:22 +03:00
lemon
e0310964d9
native: initial support for defer (#14779) 2022-06-18 23:51:31 +03:00
Alexander Medvednikov
10051e005a parser, cgen: temporary prefix ++ for translated code 2022-06-18 13:30:47 +03:00
yuyi
01fdd5d07f
cgen: add a minor optimisation for array.push_many (#14770) 2022-06-17 09:44:13 +03:00
Alexander Medvednikov
b89617726c pref: is_o 2022-06-16 20:51:21 +03:00
Louis Schmieder
5df3d8ac75
orm: mysql fixes (#14772) 2022-06-16 20:19:49 +03:00
Alexander Medvednikov
fb5a40d1c8 builder: handle linker errors when building .o files 2022-06-16 15:19:13 +03:00
yuyi
26714fadc5
ast, checker, cgen: improve sorting globals and consts (#14769) 2022-06-16 14:32:41 +03:00
Alexander Medvednikov
9c72b85f72 checker: temporary c2v struct init fix 2022-06-16 14:24:17 +03:00
yuyi
f2962c34dd
cgen: format module_init generated c code (#14764) 2022-06-16 11:01:17 +03:00
yuyi
0c1708db23
cgen: minor cleanup in stmt() (#14763) 2022-06-15 17:44:00 +03:00
yuyi
5135952c9c
v.util: add a retry loop for tool compilation in launch_tool() (#14760) 2022-06-15 11:59:53 +03:00
yuyi
7f38b92ca8
cgen: simplify sorting globals and consts (#14761) 2022-06-15 11:56:17 +03:00
yuyi
7c50d276c7
ast: minor cleanup in is_comptime_type() (#14759) 2022-06-14 14:21:45 +03:00
lemon
e4e858b132
transformer: fix a bug with string literal length (#14757) 2022-06-14 12:42:45 +03:00
yuyi
6d8a0ad15d
ast, checker, cgen: sort consts with call expr (fix #14748) (#14755) 2022-06-14 10:50:20 +03:00
Spydr
2f1a896d18
native: integer-to-string conversion (#14758) 2022-06-14 00:35:25 +03:00
Leo Developer
67716b5b59
cgen: fix comptime if attributes for test_ functions (#14756) 2022-06-13 21:22:25 +03:00
yuyi
5efa67906c
cgen: sort const array init order (fix #14748) (#14749) 2022-06-13 21:09:24 +03:00
yuyi
3535927bcd
parser: correct error message for seclector_expr_assign.vv (#14747) 2022-06-12 20:29:54 +03:00
Delyan Angelov
139c34c07d
gg: optimise app.gg.show_fps() (cache ctx.text_size() results, round frame to int without interpolation, center text inside the background rectangle) 2022-06-12 16:07:00 +03:00
Delyan Angelov
4682e17ac1
gg: fix v -d show_fps run examples/gg/stars.v 2022-06-12 15:17:04 +03:00
Delyan Angelov
7e06203da8 gg: support -d show_fps for all gg apps 2022-06-12 14:20:32 +03:00
Delyan Angelov
ff8e286c88
compress.gzip: support gzip.decompress(data, verify_length: false, verify_checksum: false)? 2022-06-12 11:25:01 +03:00
Spydr
5c104cf981
native: implement neg() for arm64 (#14745) 2022-06-12 09:42:39 +03:00
Spydr
8fa1e30dd2
native: int-to-string conversion detecting zeros and negative values (#14743) 2022-06-11 21:20:13 +03:00
Joe Conigliaro
f3351b6a29
pref: maintain order of 'debug' in compile defines as mod cache key depends on it 2022-06-12 02:22:04 +10:00
Delyan Angelov
5cea8d30fa
ci: make crun_test.v more robust by reducing the tested gap from 5x to 4x 2022-06-11 18:44:02 +03:00
yuyi
a538ab7e8c
cgen: minor cleanup for sort globals and consts (#14742) 2022-06-11 18:42:22 +03:00
yuyi
cdf4ffc513
cgen: sort globals and consts definitions (#14739) 2022-06-11 17:17:49 +03:00
lemon
c7a619d16e
native: support else, break, continue (#14738) 2022-06-11 11:50:19 +03:00
Dialga
da7a166708
v.pkgconfig: fix duplication in short flags to the standalone pkgconfig binary (#14740) 2022-06-11 11:06:55 +03:00
spaceface
26d051475a
cgen: ensure closures are kept alive when using the GC (#14736) 2022-06-10 19:48:50 +03:00
yuyi
fcaf529228
parser, checker: check undefined ident in if expr using generic type name (#14734) 2022-06-10 11:57:26 +03:00
yuyi
922f003729
cgen: fix fixed array global variable (fix #14712) (#14730) 2022-06-09 16:53:19 +03:00
yuyi
784361f153
checker: fix generic method on aliases receiver type (#14729) 2022-06-09 15:36:31 +03:00
Ben
39e54a508b
os: correct description of windows_volume function (#14726) 2022-06-09 10:56:58 +03:00
spaceface
4ed9780b80
all: enable -gc boehm by default (#14577) 2022-06-09 00:44:29 +03:00
yuyi
e6580fefaa
ast: cleanup in generic_insts_to_concrete() (#14724) 2022-06-08 23:17:03 +03:00
Spydr
8563696476
native: added new helper functions (#14723) 2022-06-08 23:16:15 +03:00
Larpon
f58e5a94c2
gg: fire resize event before init if necessary on Android (#14725) 2022-06-08 21:43:20 +03:00
Ben
c6b1c8d07a
os: add windows_volume function (#14721) 2022-06-08 21:26:24 +03:00
Mikey
5ac9b5c9f1
term.ui: don't print event data in readme example (vlang#14719) (#14720) 2022-06-08 09:36:22 +03:00
Delyan Angelov
4b3c3d9082
checker: add error for if c >= A && c <= Z { in non generic functions 2022-06-07 20:43:31 +03:00
Larpon
96a9faf2fd
strings: add split_capital (#14716) 2022-06-07 18:43:06 +03:00
David Valdespino Pavon
1d462136bc
net.http: cookie parsing fixes (#14420) 2022-06-07 12:52:43 +03:00
Delyan Angelov
82594c0156
v.vcache: improve the output of -d trace_usecache_n 2022-06-07 12:39:30 +03:00
Delyan Angelov
a942ecf737
v.vcache: support -d trace_usecache_n too (less verbose tracing for just the initialisation of CacheManager) 2022-06-07 12:24:53 +03:00
Delyan Angelov
82d23dedf1
builtin: add flush_stdout and flush_stderr to builtin.js.v, for feature parity with builtin.c.v 2022-06-07 12:15:35 +03:00
yuyi
7780f56c31
cgen: fix cast to generic interface (#14708) 2022-06-07 08:32:25 +03:00
ChAoS_UnItY
73b59c7b16
cgen: fix none literal str() function calling (#14704) 2022-06-07 01:29:27 +03:00
yuyi
abf35270cf
checker: fix json decoder with generic struct (#14700) 2022-06-06 19:25:02 +03:00
ChAoS_UnItY
ce26d5bc5c
cgen: fix mutable receiver type calling mapping function causes C error (fix #14230) (#14696) 2022-06-06 18:34:04 +03:00
Delyan Angelov
778fe2cde0
ast: use [direct_array_access] for attrs []Attr lookup methods 2022-06-06 14:43:04 +03:00
Delyan Angelov
6398043094
cgen: fix missing function names in declarations on [c2v_variadic][c: xyz]fn deh_fprintf(fstream &C.FILE, fmt &i8) 2022-06-06 14:33:24 +03:00
Alexander Medvednikov
7f67981637 checker: allow literal args as references in translated code 2022-06-06 13:24:36 +03:00
yuyi
8a2236d3f8
cgen: fix generic interface with non-generic method (#14694) 2022-06-06 12:30:48 +03:00
Alexander Medvednikov
e89a6269e4 checker: do not require fn main when building an object file 2022-06-06 12:29:57 +03:00
yuyi
ce771876a3
cgen: fix nested map index check (fix #14683) (#14687) 2022-06-06 06:29:22 +03:00
ChAoS_UnItY
df80b33dc0
cgen: fix array init with it (fix #14679) (#14680) 2022-06-05 19:41:54 +03:00
Leo Developer
3a90d8ef14
compress: add a new module compress.gzip too (#14686) 2022-06-05 18:53:45 +03:00
Ikko Ashimine
7b25957a26
builtin: fix typo in array.v (#14688) 2022-06-05 18:49:40 +03:00
ChAoS_UnItY
b000728845
compress.gzip / deflate: rename gzip module into deflate module (#14682) 2022-06-05 08:48:38 +03:00
yuyi
4cf6abd99d
checker: check using literal argument as reference parameter (#14674) 2022-06-05 08:44:35 +03:00
ChAoS_UnItY
f6ebbc99cd
cgen: fix array type as interface (fix #14677) (#14681) 2022-06-05 05:05:48 +03:00
yuyi
5d429140a4
json: fix json decode with missing map type field (#14678) 2022-06-04 20:27:11 +03:00
Delyan Angelov
3ac3375b43
cgen: fix for (int i = 0; i < 10; i++, a++) { (multiple expressions in the inc part) 2022-06-04 20:03:59 +03:00
Delyan Angelov
f2171b4148 ci: fix macos clang failures with const_fixed_array_containing_references_to_itself_test.v 2022-06-04 09:15:37 +03:00
Delyan Angelov
4cfff58fdf
checker: allow for references to fixed array consts inside their initialisation const a = [ ... &a[0] ...]! 2022-06-04 09:04:12 +03:00
Alexander Medvednikov
a8461a900d vweb: use http.Cookie 2022-06-04 06:52:46 +03:00
yuyi
66572d5ead
ast: cleanup is_lit() (#14672) 2022-06-03 21:02:36 +03:00
Delyan Angelov
c15d1c6e7e
cgen,ci: fix cast_bool_to_int_test.v on windows-tcc 2022-06-03 20:53:10 +03:00
Delyan Angelov
6f9070e06d cgen: do not initialise externally declared globals (with -cstrict with [c_extern]). 2022-06-03 19:14:01 +03:00
Delyan Angelov
dbaecdc058
cgen: simplify int(bool_var) casts; support [c_extern] tag for global declarations 2022-06-03 18:48:08 +03:00
yuyi
daa94de93f
cgen: fix autofree_variable() (fix #14576) (#14602) 2022-06-03 17:41:30 +03:00
yuyi
dcbd8d6405
cgen: fix if expr with optional method call (#14600) 2022-06-03 15:57:39 +03:00
ChAoS_UnItY
65066098d8
compress: Add gzip module & refactor compress & compress.zlib module (#14599) 2022-06-03 09:00:11 +03:00
yuyi
251716fa0e
vrepl: fix error for exitasdfasdf in repl (fix #14593) (#14598) 2022-06-02 19:59:57 +03:00
Delyan Angelov
9f7656f328
ci: vfmt vlib/v/checker/check_types.v 2022-06-02 19:02:34 +03:00
Delyan Angelov
c892b3203e
checker: speed up check_expected_call_arg, by only calling Table.type_to_str on errors 2022-06-02 18:58:20 +03:00
Hunam
41414b5d5f
vlib: add net.http.mime (#14516) 2022-06-02 18:07:25 +03:00
Delyan Angelov
aae5b9fb95
ast.table: cache the returned values of Table.type_to_str_using_aliases/2
This results in 9% speedup of the checker stage for V itself.
2022-06-02 17:53:30 +03:00
Delyan Angelov
ed759b2ec9
ci: vfmt vlib/v/parser/parser.v 2022-06-02 15:55:13 +03:00
Delyan Angelov
031629faa1
tools: add cmd/tools/measure/scanner_speed.v and cmd/tools/measure/parser_speed.v 2022-06-02 13:50:25 +03:00
Delyan Angelov
9a0ec7f367
strings: update docs for .str() and for .free() 2022-06-02 10:41:32 +03:00
yuyi
545eaae77b
ast: fix IfExpr.str() (#14595) 2022-06-02 10:28:31 +03:00
Alexander Medvednikov
8b0e843cb8 checker, cgen: c2v variadic fixes 2022-06-02 09:35:25 +03:00
yuyi
10fb16e00b
parser: fix optional with multiple statements (#14592) 2022-06-02 08:23:16 +03:00
Ben
e201665e92
os: fix file_ext function (#14566) 2022-06-02 07:09:46 +03:00
ChAoS_UnItY
a95cdac635
cgen: fix type not being unaliased (fix #14568) (#14591) 2022-06-02 06:21:01 +03:00
yuyi
55951e0943
checker: minor cleanup in if_expr() (#14584) 2022-06-02 06:20:09 +03:00
yuyi
33a2d00445
cgen: fix fixed array of aliases struct (#14583) 2022-06-01 16:56:12 +03:00
Delyan Angelov
bf70f0b436
v: add support for v crun examples/hello_world.v, use crun mode for .vsh files by default. (#14554) 2022-06-01 14:47:52 +03:00
yuyi
786045c7da
parser: fix comptime if script mode (fix #6419) (#14578) 2022-06-01 13:27:27 +03:00
Delyan Angelov
5a2c271bd4
cgen: do not #include signal.h, on -os wasm32 and -d no_segfault_handler 2022-06-01 13:21:22 +03:00
yuyi
fefb9643b2
checker, cgen: fix array index optional with if expr (#14575) 2022-06-01 09:18:59 +03:00
Delyan Angelov
846ddfd728
v: always embed file data of \$embed_file(file) constructs, even without -prod, unless -d embed_only_metadata is given. 2022-06-01 09:08:18 +03:00
Alexander Medvednikov
f40c30c3dc cgen: fix goto label 2022-06-01 06:34:04 +03:00
Alexander Medvednikov
c54c9b817c cgen: c2v infix fix 2022-06-01 06:14:28 +03:00
Larpon
84e375e38a
toml: update readme with value_opt() usage (#14569) 2022-05-31 19:02:33 +03:00
yuyi
80cc88427b
scanner: minor cleanup in scanner.v (#14565) 2022-05-31 11:52:47 +03:00
playX
db34adaec8
builtin.js: fix string.int method (#14564) 2022-05-31 11:52:11 +03:00
Delyan Angelov
dc30089c74 v.util, v.builder: fix util.module_is_builtin on macos with -usecache 2022-05-31 09:30:45 +03:00
Ben
4ffdcf8058
os: add existing_path function (#14536) 2022-05-31 06:32:12 +03:00
Delyan Angelov
928dafeb6d
strconv: make f64_to_str_lnd1 public (fix building vlang/coreutils printf) 2022-05-30 22:14:22 +03:00
Delyan Angelov
fc64f09f0b
crypto.md5: improve performance of md5.blockblock_generic 2022-05-30 21:56:39 +03:00
Delyan Angelov
0f3b2c2ae7
builtin: use C.fwrite (buffered) for _write_buf_to_fd (#14558) 2022-05-30 19:15:05 +03:00
Delyan Angelov
58ebc0680e
builtin: fix sporadic linking failures on v -cc gcc -gc boehm examples/hello_world.v 2022-05-30 15:17:01 +03:00
yuyi
844ba2a177
checker: vfmt overload_return_type.vv (#14557) 2022-05-30 13:49:13 +03:00
Hunam
78d1b7f4ef
net.http: Response.text -> Response.body (#14478) 2022-05-29 20:27:18 +03:00
yuyi
2c5febe25e
scanner: fix string interpolation with inner curly braces (fix #12242) (#14553) 2022-05-29 19:28:23 +03:00
yuyi
79d861ad4f
parser: fix cast or dump arguments ending with comma (#14552) 2022-05-29 09:15:55 +03:00
Delyan Angelov
c006d5c242
cgen: add support for v -cmain SDL_main sdl_example.v 2022-05-28 21:16:48 +03:00
yuyi
c0ef6dbde8
cgen: fix cross assign in closure (#14549) 2022-05-28 20:47:54 +03:00
yuyi
7dcc19df55
ast: fix call_expr.str() with propagate_option or propagate_result (#14550) 2022-05-28 20:47:29 +03:00
Delyan Angelov
c6a6eb9a3c
ci: temporary workaround for cross assignment in a closure leading to cgen error 2022-05-28 13:21:59 +03:00
yuyi
b8e8768928
parser, cgen: fix cross assign with parentheses (#14545) 2022-05-28 12:02:17 +03:00
yuyi
a46cf10e92
checker: fix declare assign literal with closure (#14544) 2022-05-28 11:50:37 +03:00
Delyan Angelov
4894f61998
toml: add pub fn (d Doc) value_opt(key string) ?Any { and some tests for toml.parse_dotted_key/1 2022-05-28 09:18:18 +03:00
yuyi
a971b9a99a
parser: fix match expr case with struct init (#14538) 2022-05-27 18:51:40 +03:00
spaceface
52a3e5e780
cgen: fix a race condition in the closure implementation (#14532) 2022-05-27 17:35:02 +03:00
Delyan Angelov
f7995c8916
checker: fix error position in fn f() int { return 1,2 } 2022-05-27 16:53:24 +03:00
Louis Schmieder
a83ac948a0
orm: document & fix pg (#14533) 2022-05-26 22:53:09 +03:00
yuyi
b97ef09b2d
checker: cleanup checker.v (#14530) 2022-05-26 22:52:42 +03:00
Delyan Angelov
bb6ef8bba8
cgen: fix parallel cgen for json encoding of struct fields that have default values 2022-05-26 16:55:44 +03:00
Delyan Angelov
8c969efe6b
tests: make json_test.v less noisy, to see errors easier 2022-05-26 15:27:54 +03:00
Wertzui123
1017335365
x.ttf: fix typo in README (#14528) 2022-05-26 11:17:15 +03:00
yuyi
3849cdcecc
fmt: fix fn return types list ending with comma (#14529) 2022-05-26 04:20:22 +03:00
Delyan Angelov
410b57b2fa
all: add support for struct field deprecation (#14527) 2022-05-26 00:44:18 +03:00
Larpon
6c08af63ff
embed_file: rename debug_embed_file_in_prod -> force_embed_file (#14523) 2022-05-25 18:26:17 +03:00
yuyi
59e57f0c62
fmt: fix fmt of Ok<[]Token>{[]} (#14522) 2022-05-25 15:17:30 +03:00
kahsa
dd8c96f6bc
net.html: use -d debug_html instead of -g, prevent undesired output, while debugging user programs (#14521) 2022-05-25 11:23:56 +03:00
Delyan Angelov
31c234485a
cgen: split keys and values in generated new_map_init calls into separate lines 2022-05-25 10:26:17 +03:00
yuyi
e19ac0c4a7
checker: check fn call with argument mismatch (#14519) 2022-05-25 09:00:26 +03:00
yuyi
79a75c5ac0
parser: fix fmt error for json decode (#14520) 2022-05-25 08:59:22 +03:00
yuyi
0eb3f8854d
fmt: fix file with just imports (fix #14267) (#14513) 2022-05-24 20:14:08 +03:00
Ben
f431020764
os: minor clean ups on filepath.v (#14506) 2022-05-24 11:29:32 +03:00
yuyi
f35f7fe997
fmt: fix using rand.seed() when import rand and rand.seed (#14511) 2022-05-24 11:21:49 +03:00
yuyi
a5b98cb267
parser: check fn decl multi return types without parentheses (#14508) 2022-05-24 05:15:31 +03:00
yuyi
5ade39f8db
cgen: fix sizeof('str') and sizeof(r'str') (#14507) 2022-05-24 05:14:38 +03:00
Delyan Angelov
953ef1f8c9
pref: add support for -dump-files - and for -dump-modules - 2022-05-23 19:51:21 +03:00
Delyan Angelov
dda49fe735
v.builder: support -dump-c-flags with -cc msvc too 2022-05-23 18:29:39 +03:00
yuyi
a3c0a9b791
checker: minor optimization in fn_call() and method_call() (#14503) 2022-05-23 08:00:57 +03:00
yuyi
4ef9e2c05a
parser: fix sizeof(c'str') (fix #14499) (#14502) 2022-05-23 01:59:39 +03:00
Alexander Medvednikov
863eeca2e0 checker: vfmt checker.v 2022-05-23 00:12:37 +03:00
Daniel Däschle
5e95bdc451
checker: allow but deprecate propagating result as option (#14500) 2022-05-23 00:11:29 +03:00
yuyi
7f03b89611
checker: check method call argument type mismatch (#14496) 2022-05-22 22:16:46 +03:00
spaceface
ba859c584b
builtin: add static GC support on Windows with TCC (#14497) 2022-05-22 21:25:46 +03:00
Delyan Angelov
5328dabad1
time: simplify some very commonly used t.format methods 2022-05-22 21:09:49 +03:00
yuyi
1f3336c9d3
checker: fix map get anon fn value with mut argument (fix #14479) (#14493) 2022-05-22 16:28:53 +03:00
Alexander Medvednikov
245d28d57a checker: c2v infix fix 2022-05-22 14:53:21 +03:00
Daniel Däschle
d3ffd983c8
markused: add _result_ok (#14495) 2022-05-22 14:52:38 +03:00
Subhomoy Haldar
3647fb4def
rand: move dist functions to top module and PRNG interface; minor cleanup (#14481) 2022-05-22 13:21:52 +03:00
yuyi
50ab2cfd1a
fmt: fix 'strings' name variable call generate auto import (fix #9713) (#14485) 2022-05-21 15:01:58 +03:00
Delyan Angelov
0ceb16f285
v.builder: use /NOLOGO, when building cached object files with msvc 2022-05-21 12:56:24 +03:00
Delyan Angelov
c0dcc80e18
cgen: support -profile - for _test.v files too 2022-05-21 10:59:01 +03:00
Delyan Angelov
a7afb2d1eb
time: remove import math dependency, by implementing a simpler version of mceil 2022-05-21 02:04:17 +03:00
Ben
971c55cf30
os: add norm_path and abs_path function (#14435) 2022-05-21 01:16:29 +03:00
Daniel Däschle
efc5cab8c3
checker,cgen: allow result if guard (#14474) 2022-05-20 19:34:53 +03:00
Alexander Medvednikov
53c217fe5e cgen: do not generate _vinit() for translated .o code 2022-05-20 19:28:37 +03:00
Vincenzo Palazzo
17bba712bd
checker: ban unsafe pointer/fn comparison (#14462) 2022-05-20 18:30:16 +03:00
yuyi
28b0cbddad
parser: check error for script mode that define main function (fix #14467) (#14469) 2022-05-20 14:20:18 +03:00
yuyi
913164bc73
builtin: minor cleanup in string_interpolation.v (#14471) 2022-05-20 14:19:27 +03:00
yuyi
bf44572f30
fmt: fix chain calls with comments (#14470) 2022-05-20 11:47:44 +03:00
StunxFS
11bdb04d0c
json: fix struct field default value support (#14304) 2022-05-20 11:22:17 +03:00
Delyan Angelov
ca00b59b3f
tests: make potential failures in urllib_test.v more informative 2022-05-20 08:49:56 +03:00
David 'Epper' Marshall
120f31b4d9
math: update documentation (#14457) 2022-05-20 08:45:54 +03:00
David 'Epper' Marshall
23568f19da
url: fix parse (#14456) 2022-05-20 02:58:58 +03:00
crthpl
95d24e543d
checker, cgen: fix shared non-decl assignment (#14466) 2022-05-20 02:58:11 +03:00
yuyi
55e7daa2f9
cgen: simplify auto_str_methods.v (#14463) 2022-05-19 22:29:15 +03:00
crthpl
46f94e8d68
cgen: fix autostr of shared fields (#14455) 2022-05-19 17:00:27 +03:00
Daniel Däschle
a52fbc5e51
checker: forbid optional variable (#14460) 2022-05-19 16:04:44 +03:00
yuyi
3291c59ebf
cgen: minor cleanup in auto_str_methods.v (#14461) 2022-05-19 14:02:07 +03:00
Delyan Angelov
634e8c3624
vfmt: keep selective imported names used for generic calls 2022-05-19 12:48:43 +03:00
yuyi
15c62bc8e8
parser: improve error messages of 'for val in array' (#14459) 2022-05-19 11:53:27 +03:00
Delyan Angelov
a52590572f
tests: fix the push_work_on_channel.vv output 2022-05-19 11:30:36 +03:00
Delyan Angelov
3d5617c4fa
tests: re-add the disambiguated for (val in [TokenValue(+), TokenValue(-)]) { test 2022-05-19 08:31:03 +03:00
Delyan Angelov
809b1ca3b4
Revert "parser: fix 'val in array' as condition in for stmt (fix #14440) (#14451)"
This reverts commit b482c0512b.
2022-05-19 08:29:30 +03:00
yuyi
b482c0512b
parser: fix 'val in array' as condition in for stmt (fix #14440) (#14451) 2022-05-18 20:38:53 +03:00
Delyan Angelov
805a7d9713 ci: skip more .vv files on specific jobs 2022-05-18 20:04:59 +03:00
yuyi
5b96f7e8fd
checker: split up infix.v from checker.v (#14449) 2022-05-18 14:52:53 +03:00
yuyi
4cbfa884c5
cgen: fix another error for 'in array of sumtype' (#14448) 2022-05-18 14:39:35 +03:00
Delyan Angelov
f2447a4bd8
tests: do not use -prod for compiling .vv files in vlib/v/checker/tests/ and vlib/v/parser/tests/ 2022-05-18 13:39:57 +03:00
Delyan Angelov
2cc3b74e19
tests: cleanup compiler_errors_test.v using language features (chan), instead of raw sync.new_channel and unsafe { ch.push } calls 2022-05-18 13:39:56 +03:00
Larpon
9de0c725f6
checker: add test for empty #flag node, (fix #14291) (#14447) 2022-05-18 13:38:58 +03:00
Adam Oates
a786c58d0a
os: add fn user_names() (#14424) 2022-05-18 13:37:34 +03:00
yuyi
417a6dc506
cgen: fix error for 'in array of sumtype' (#14444) 2022-05-18 08:51:31 +03:00
Delyan Angelov
ed17779434
math.big: fix Integer.bit_len() when there are no digits in the number 2022-05-18 08:29:08 +03:00
Delyan Angelov
ebac3bebb1
pref: pass -v after a command, to the command only, do not set verbose mode on 2022-05-18 07:03:00 +03:00
playX
a608516b82
checker: c2v fixed array fix (#14436) 2022-05-18 02:35:05 +03:00
spaceface
b5fb848508
cgen: reduce the closure memory usage (#14437) 2022-05-18 02:34:51 +03:00
Delyan Angelov
4e56147223 ci: vfmt builtin_d_use_libbacktrace.c.v 2022-05-17 19:41:57 +03:00
Alexander Medvednikov
2a06290ac7 cgen: fix eq generation for translated code 2022-05-17 15:30:05 +03:00
Ned
db4b49a5ca
builtin: print libbacktrace output to stderr, on panics/segfault crash (#14434) 2022-05-17 14:56:34 +03:00
yuyi
020845f6c3
cgen: fix alias of array that has builtin method (#14432) 2022-05-17 12:26:26 +03:00
yuyi
d7b1e57186
v.builder: improve builder error messages (fix #14386) (#14421) 2022-05-17 12:12:20 +03:00
yuyi
60e817ff32
cgen: minor optimization in index_of_array/map() (#14429) 2022-05-17 12:08:44 +03:00
yuyi
d6aa85d059
parser: fix panic for parse invalid map type (#14431) 2022-05-17 12:05:10 +03:00
playX
7c6eaa8204
checker: allow to use [n]anyptr as [n]otherptr in check_types (c2v fix) (#14433) 2022-05-17 11:55:04 +03:00
Delyan Angelov
78ab3296c9
checker: fix orm bug, when a joined table field context replaced the original table field context 2022-05-17 11:45:17 +03:00
WoodyAtHome
02c8a6057c
builtin.string: new fn (s string) is_ascii() bool (#14418) 2022-05-17 08:01:03 +03:00
Alexander Medvednikov
d10f83ce15 cgen: fix c2v struct eq 2022-05-17 03:39:48 +03:00
playX
bc397bb0e1
checker: c2v array fix (#14426) 2022-05-17 00:08:41 +03:00
Delyan Angelov
32dd801201
checker: apply fix for ui suggested by spaceface 2022-05-16 21:33:02 +03:00
Delyan Angelov
9cb8bb2968
Revert "Revert "checker: allow using methods as vars when expecting a ctx arg (#14414)""
This reverts commit e5c7fe3006.
2022-05-16 21:29:47 +03:00
yuyi
c624de8523
cgen: fix struct field array index error (#14417) 2022-05-16 19:37:39 +03:00
Delyan Angelov
e5c7fe3006
Revert "checker: allow using methods as vars when expecting a ctx arg (#14414)"
This reverts commit 36bec823c2.
2022-05-16 14:19:33 +03:00
Delyan Angelov
39874ae168
clipboard: fix v -gc boehm run x.v, where x.v does c.paste() (fix #14281) 2022-05-16 12:54:30 +03:00
yuyi
d59f4e9479
ast, cgen: fix generic method with variadic generic argument (#14404) 2022-05-16 12:26:38 +03:00
yuyi
0ab4133128
cgen: minor cleanup in struct_init() (#14405) 2022-05-16 12:22:51 +03:00
spaceface
36bec823c2
checker: allow using methods as vars when expecting a ctx arg (#14414) 2022-05-16 12:05:08 +03:00
WoodyAtHome
c2b763655d
net.smtp: handle UTF-8 subjects according to RFC 1342 (#14410) 2022-05-16 11:09:36 +03:00
Delyan Angelov
1cf683d482
checker: add a suggestion for misspelled mod.const_name + a test 2022-05-16 10:29:58 +03:00
Ben
cbb24d34c9
os: fix is_abs_path function for Windows systems (#14397) 2022-05-16 09:59:37 +03:00
yuyi
7fe3ef9a6e
fmt: fix fmt error of anon fn with if expr (fix #14393) (#14413) 2022-05-16 09:48:21 +03:00
Larpon
5068b8b293
ftp: document all public methods (#14408) 2022-05-16 08:52:12 +03:00
Jah-On
02e026e298
clipboard: add [heap] tag to the Clipboard structs (#14412) 2022-05-16 08:45:40 +03:00
WoodyAtHome
eeff02a8ee
net.openssl: read doesn't block infinitely (#14406) 2022-05-16 08:44:34 +03:00
spaceface
c01a8a1737
checker,gen: allow using methods as function pointers (#14407) 2022-05-15 18:28:37 +03:00
Delyan Angelov
c2bc9f4960
sync: only run channel_select_test.v when VTEST_RUN_FLAKY=1 2022-05-15 12:43:04 +03:00
crthpl
e4065bd57b
checker,cgen: fix if expressions in lock expression (#14384) 2022-05-15 12:31:07 +03:00
David 'Epper' Marshall
c28051020a
time: fix calculate_date_from_offset (#14399) 2022-05-15 10:55:24 +03:00
Delyan Angelov
c70e18ea8f
ci: add a skip list in compiler_test.v (for tmpl_parse_html.vv) 2022-05-15 10:23:13 +03:00
David 'Epper' Marshall
8d141878ce
math: cbrt fix (#14395) 2022-05-14 21:06:38 +03:00
yuyi
fe9f97074b
cgen: fix appending struct to interface array (#14388) 2022-05-14 17:49:42 +03:00
Alexander Medvednikov
3adad32355 tmpl: fix a test 2022-05-14 17:48:50 +03:00
Alexander Medvednikov
b42c824cdb vweb: simplify @foo by removing V_TEMPLATE rule 2022-05-14 17:46:30 +03:00
j. redhead
441637eeb4
checker: fix optionals in infix expression check (fix #14354) (#14390) 2022-05-14 00:54:49 +03:00
Delyan Angelov
714ce4e7fc
ci: fix .out regression after d407a64 2022-05-13 11:18:17 +03:00
playX
6ec4185017
checker: allow to pass alias to array as a pointer (c2v) (#14389) 2022-05-13 10:17:28 +03:00
Daniel Däschle
d407a6449d
parser: fix dollar (closes #14292) (#14378) 2022-05-13 08:30:10 +03:00
Delyan Angelov
ed12a5c84c
math.big: reduce memory usage of Integer.str() (free intermediary Integers), optimise some operations using [direct_array_access] (#14353) 2022-05-13 08:21:34 +03:00
yuyi
3c95504a35
checker, cgen: fix generic fn with array and fixed array arguments (#14385) 2022-05-13 06:57:48 +03:00
Daniel Däschle
d679146a80
fmt: remove space in front of ? and ! (#14366) 2022-05-13 06:56:21 +03:00
Delyan Angelov
8ef9dc6247
ci: run v fmt -w vlib/v/checker/fn.v (fix CI regression after 4952967) 2022-05-12 21:24:12 +03:00
Delyan Angelov
668d1b04d2
parser: make script mode errors more informative, when a top level declaration is encountered, after script mode had already started 2022-05-12 21:14:00 +03:00
Hunam
20139ad756
checker: fix typo (#14368) 2022-05-12 12:23:32 +03:00
playX
4952967366
checker: alias C2V fix (#14377) 2022-05-12 12:19:31 +03:00
yuyi
f48f7014f0
checker: check error for generic sumtype types (#14374) 2022-05-12 11:57:57 +03:00
penguindark
e93a8766e5
regex: fix #14370, last IST not managed in advance tests (#14372) 2022-05-12 11:49:57 +03:00
Delyan Angelov
b7ca4c1668
checker: fix a compiler panic on fntest()?(&int,&int){return test()?} 2022-05-12 11:36:32 +03:00
yuyi
8830af5c89
rand: minor cleanup in choose() (#14376) 2022-05-12 11:20:38 +03:00
yuyi
5bc4fea9e0
checker: check error for cast function to string (#14375) 2022-05-12 10:04:38 +03:00
CC
901b8f0c24
builtin: add a map.clear() method (#14373) 2022-05-12 09:43:01 +03:00
spaceface
49382f1f43
gen: make the closure implementation more performant (#14352) 2022-05-12 00:05:14 +03:00
Emily Hudson
c19b037880
net: select with deadlines (#14369) 2022-05-12 00:03:48 +03:00
yuyi
cd4fa041ff
checker: check generic sumtype declare error (#14367) 2022-05-11 17:39:58 +03:00
Larpon
34a252ef84
os: add raw_execute on Windows (#14363) 2022-05-11 16:56:03 +03:00
David 'Epper' Marshall
26b81d68b5
time: update doc comments (#14359) 2022-05-11 16:55:19 +03:00
Larpon
0ec1c8d9f0
szip: expose zip_folder (#14356) 2022-05-11 16:48:41 +03:00
yuyi
3afc7c4c6d
parser: check error for generic struct parameter (#14362) 2022-05-11 13:24:54 +03:00
Delyan Angelov
cf536b848b
Revert "strings: reduce time spent in Builder.writeln (very frequently called)"
This reverts commit b53b1cc7cb.
2022-05-11 09:19:37 +03:00
yuyi
8f765ed5f1
checker: minor cleanup and speedups in fn_call() (#14343) 2022-05-10 16:41:47 +03:00
yuyi
5697d4375b
cgen: fix error for printing aliases of multi fixed array (#14348) 2022-05-10 14:03:18 +03:00
yuyi
606d8cfaca
checker: check error for returning aliases of fixed array (#14349) 2022-05-10 14:01:55 +03:00
Isaiah
9e09b709e3
net.http: fix crash on Windows when using Boehm GC (#14351) 2022-05-10 14:00:55 +03:00
yuyi
940c78bdfd
checker: minor cleanup in method_call() (#14342) 2022-05-09 18:01:44 +03:00
Subhomoy Haldar
79f8a3c796
rand: update README.md (#14341)
* update README for rand module

* use concrete values

* make sure code works
2022-05-09 17:59:20 +03:00
StunxFS
d24dce8eb3
parser,checker: support $compile_error('message') and $compile_warn('message') (#14320) 2022-05-09 08:18:26 +03:00
Dialga
4400f9891e
szip: fix extracting dot folders (#13387) 2022-05-09 07:45:36 +03:00
yuyi
8519996201
checker: fix error for match sumtype that referenced before (#14338) 2022-05-09 07:32:51 +03:00
Merlin Diavova
106487d62f
pg: resolve PG string datetime values to V time.Time ones (#14336)
Co-authored-by: Merlin Diavova <md@merlindiaova.org>
2022-05-08 15:37:46 +03:00
David 'Epper' Marshall
650fb493bd
regex: add split (#14329) 2022-05-08 15:21:39 +03:00
Delyan Angelov
084f2867b6
time: let time.parse_rfc3339('2015-01-06T15:47:32.080254511Z') succeed (dockerd timestamps, Go's RFC3339Nano). 2022-05-08 14:54:57 +03:00
WoodyAtHome
a0a3499bdc
net.smtp: correct date in smtp body (#14326) 2022-05-08 09:15:45 +03:00
Merlin Diavova
f8747d05dc
pg: add type 18 for pg boolean data type (#14335) 2022-05-08 07:17:43 +03:00
StunxFS
d5e70552eb
checker: check error for json.decode (fix #6732) (#14305) 2022-05-08 07:17:11 +03:00
David 'Epper' Marshall
aef95721a4
strings: builder: add clear (#14328) 2022-05-08 07:15:42 +03:00
yuyi
b04d46770b
ast, checker, cgen: fix error for generic method with generic fn type argument (fix #14239) (#14333) 2022-05-07 20:22:20 +03:00
yuyi
724e7f037a
cgen: fix error for if cond with optional expr (#14334) 2022-05-07 20:20:00 +03:00
David 'Epper' Marshall
a91226c376
docs: cleanup (#14327) 2022-05-07 20:18:42 +03:00
Delyan Angelov
b53b1cc7cb
strings: reduce time spent in Builder.writeln (very frequently called) 2022-05-07 12:55:41 +03:00
Delyan Angelov
7ecd65221e
v.util: support -d trace_cached_read_source_file 2022-05-07 12:55:41 +03:00
Delyan Angelov
56cf0b0a2e
builtin: inline manually isnil calls in array.push_many (very frequently called) 2022-05-07 12:55:40 +03:00
Delyan Angelov
7f974a275a
docs: fix teh typo 2022-05-07 12:55:40 +03:00
Alexander Medvednikov
ca42ace367 Revert "checker: remove more unnecessary void errors"
This reverts commit 89c1e7f980.
2022-05-07 11:03:12 +03:00
Alexander Medvednikov
35cfa0da7c doc: closures work on arm64 too 2022-05-07 11:02:53 +03:00
playX
6a6c005dc0
checker: c2v fixes (#14332) 2022-05-07 09:50:41 +03:00
Alexander Medvednikov
89c1e7f980 checker: remove more unnecessary void errors 2022-05-07 09:09:18 +03:00
yuyi
70184ad1f8
scanner: minor simplification in scanner.v (#14331) 2022-05-07 08:30:15 +03:00
Alexander Medvednikov
14f06ead1b cgen: fix c2v consts; enum_decl() 2022-05-07 00:58:37 +03:00
yuyi
621574c12a
checker: fix error for generic method on nested struct (#14322) 2022-05-07 00:51:04 +03:00
Hunam
0699f324b5
builtin: add map.values() (#14301) 2022-05-06 20:42:01 +03:00
Lathanao
ce99a306c0
net.http: make parse_form return POST requests with json data as a map with a json key, containing the json payload (#14289) 2022-05-06 20:23:36 +03:00
Ekopalypse
2027a1969b
v.builder: harmonise the default settings of the different Windows compilers (#14314) 2022-05-06 19:28:13 +03:00
Daniel Däschle
76cdf75299
builtin,cgen: rename Option to _option (#14317) 2022-05-06 19:25:54 +03:00
yuyi
45fe87c9e3
checker: minor cleanup in fn_call() (#14307) 2022-05-05 21:15:54 +03:00
yuyi
3091f31019
checker: check for optional argument in dump() (#14316) 2022-05-05 21:15:22 +03:00
Andréas Livet
9fde5b067b
docs: add missing function names in the builtin example doc comments (#14318) 2022-05-05 17:22:25 +03:00
Daniel Däschle
89fe82b732
checker: fix returning error on reference results (#14313) 2022-05-05 17:02:49 +03:00
yuyi
b6058bfd6e
parser, checker: fix generic method on nested struct (fix #14089) (#14310) 2022-05-05 11:24:20 +03:00
playX
8afdb1c3ef
checker: c2v: allow passing fixed array as pointer to functions; bool <-> int (#14309) 2022-05-05 11:23:57 +03:00
StunxFS
7499506cf8
.gitignore: minor cleanup (#14279) 2022-05-05 10:17:24 +03:00
Delyan Angelov
7170a09382
vfmt: fix stackoverflow on long nested infix expressions 2022-05-05 07:41:43 +03:00
Ned
76a7354506
builtin: add libbacktrace as option for generating stack traces (#14277) 2022-05-04 21:17:05 +03:00
yuyi
4242e7610f
checker: add comptime_selector() (#14286) 2022-05-04 19:25:58 +03:00
yuyi
e2aa5c9b3f
parser: make peek_token_after_var_list() private (#14288) 2022-05-04 19:25:45 +03:00
Ikko Ashimine
223b96a59a
builtin: fix typo in array_bare.v (#14299) 2022-05-04 19:25:17 +03:00
Delyan Angelov
1a4d9017e2
builtin: improve support for large arrays ([]int{len: 1_000_000_000} now works), fix an arr.repeat() bug (#14294) 2022-05-04 18:42:06 +03:00
yuyi
ac90a2b53d
checker: check error for fn call argument mismatch (fix #14280) (#14283) 2022-05-04 12:13:22 +03:00
playX
3bd6455178
checker: allow rune->any int and vice versa when translated (#14285) 2022-05-04 12:08:34 +03:00
Alexander Medvednikov
3d4b8dffdf checker: temporary c2v const fix 2022-05-04 08:28:27 +03:00
yuyi
f321422964
checker, cgen: check comptime selector that has no field name (#14282) 2022-05-04 07:06:52 +03:00
Alexander Medvednikov
1e9156fd71 checker: c2v rune comparison fix 2022-05-04 06:49:45 +03:00
yuyi
3732db2bcc
cgen: cleanup in gen_array_contains_methods() (#14274) 2022-05-03 20:46:07 +03:00
playX
146051b231
checker: allow fixed array to pointer and vice versa when translated (#14275) 2022-05-03 20:44:45 +03:00
Delyan Angelov
04a77c731e
tests: add // vtest flaky: true to atomic_test.v 2022-05-03 20:42:12 +03:00
yuyi
63eacede95
checker: check argument mismatch of array.filter/all/any() (#14273) 2022-05-03 16:56:18 +03:00
yuyi
276bd8060c
cgen: fix error for fixed array in operate (#14269) 2022-05-03 12:45:04 +03:00
Delyan Angelov
0e5c1cee48
builtin: improve musl/Alpine support (define weak backtrace/backtrace_symbols/backtrace_symbols_fd symbols) (#14250) 2022-05-03 09:17:53 +03:00
Delyan Angelov
4da2908d63
vdoc: fix panic on empty // comment on v doc -f html file.v; turn expected code block after empty example to a warning 2022-05-03 00:02:12 +03:00
Delyan Angelov
ab1c265679
builtin: add missing panic_result_not_set/1 callback function. 2022-05-02 22:40:26 +03:00
spaceface
db185598d2
checker: refactor comptime_if_branch (#14259) 2022-05-02 22:24:20 +03:00
yuyi
990afe37e1
checker: fix a bug in generics array init (#14258) 2022-05-02 16:18:33 +03:00
yuyi
d72a25098a
parser: minor cleanup in interface_decl() (#14257) 2022-05-02 16:17:46 +03:00
yuyi
25c1b174ca
checker: fix generic fn infering fn type argument (fix #14243) (#14256) 2022-05-02 16:17:27 +03:00
yuyi
b9cf2db6a8
parser: fix inline array's element access (#14253) 2022-05-02 16:16:32 +03:00
playX
afbe6bf3a2
cgen: fix const decl gen when translated (#14255) 2022-05-02 15:01:59 +03:00
Isaiah
a4fd349cf1
builder: allow -compress to work on windows too, when upx is installed (#14252)
Allow `-compress` flag on Windows if upx is installed. If upx not installed, same behavior as on linux/mac
2022-05-02 14:28:31 +03:00
yuyi
968d2b4654
cgen: fix fixed array init with it (#14251) 2022-05-02 02:00:45 +03:00
spaceface
332e821518
checker, gen: add support for a [minify] struct attribute (#14247) 2022-05-02 01:59:17 +03:00
David 'Epper' Marshall
91c1157810
time: relative update (#14240) 2022-05-01 10:47:05 +03:00
Daniel Däschle
ec92d467d1
cgen: fix unsafe return error (#14233) 2022-04-30 17:31:28 +03:00
playX
0b54196962
checker: allow pointer index for translated code (#14231) 2022-04-30 17:30:55 +03:00
Daniel Däschle
9f8a34a528
all: rename result to _result (#14232) 2022-04-30 17:10:30 +03:00
Delyan Angelov
5277ce7dce
tests: support for marking _test.v files with // vtest flaky: true, to reduce false positives from the CI 2022-04-30 13:30:02 +03:00
David 'Epper' Marshall
a2338dbb7c
docs: document more builtin functions/methods (#14229) 2022-04-30 12:31:23 +03:00
spaceface
dab649ec8a
cgen: rewrite the closure implementation (#14223) 2022-04-30 09:32:46 +03:00
Alexander Medvednikov
ce31a01a70 checker: allow voidptr arithmetic in translated code 2022-04-30 05:52:37 +03:00
yuyi
cd30b6ea82
parser: make sure interface field names use uppercase letters (#14228) 2022-04-30 05:29:33 +03:00
Daniel Däschle
08fd0ce0de
all: basic implementation of result type (#14140) 2022-04-30 01:59:14 +03:00
StunxFS
db185e6580
checker: check for reserved type names in for in (fix #14072) (#14212) 2022-04-30 01:25:29 +03:00
David 'Epper' Marshall
881d0c04f1
time: add custom formatter (#14202) 2022-04-29 15:57:08 +03:00
yuyi
ec865cfb37
parser: check interface methods name (fix #14217) (#14218) 2022-04-29 15:48:03 +03:00
yuyi
317acfda97
checker: check struct field name using uppercase letters (#14220) 2022-04-29 14:57:14 +03:00
Wertzui123
872f739396
builtin: ignore C++ 0xE06D7363 exception errors on windows (#14225) 2022-04-29 14:55:29 +03:00
StunxFS
995485c649
builtin: add string.len_utf8() method (#14208) 2022-04-29 10:23:57 +03:00
StunxFS
8b798acadd
cgen: fix use of C reserved words inside defer statement (fix #14101) (#14211) 2022-04-29 08:04:59 +03:00
Alexander Medvednikov
77645fcf35 builtin: define atoi & ftell 2022-04-29 04:31:51 +03:00
spaceface
14309594fe
ast: add a type_size() method (#14213) 2022-04-28 23:35:10 +03:00
StunxFS
e24482a143
transformer: minor optimization for 'string literal'.len (#14207) 2022-04-28 22:35:16 +03:00
playX
e56385d57d
checker: disable op overloading on structures for translated code (#14209) 2022-04-28 20:46:46 +03:00
yuyi
7aca67fb60
ast, parser: fix complex map init (#14206) 2022-04-28 17:37:19 +03:00
yuyi
dd94ab890a
cgen: fix go anon fn call with ref argument (fix #14192) (#14197) 2022-04-28 14:43:20 +03:00
yuyi
c802688690
ast: fix error for complex map operating (#14204) 2022-04-28 13:20:56 +03:00
Atom
a225b25117
arrays: rephrase doc string (#14205) 2022-04-28 13:17:53 +03:00
Delyan Angelov
4538efd8f4
eval: small cleanup in the handling of $if platform { 2022-04-28 13:15:09 +03:00
Delyan Angelov
e0ed8f8278
eval: make the interpreter backtrace more efficient and informative. 2022-04-28 12:31:30 +03:00
Delyan Angelov
f72297c331
eval: add support for C.read/3, C.malloc/1, $if openbsd { 2022-04-28 11:30:36 +03:00
Delyan Angelov
be04ec0620
pref: add support for -thread-stack-size 4194304 (default set to 8MB) (#14168) 2022-04-28 08:46:33 +03:00
yuyi
7dd5d9ee61
checker: fix error for array of sumtype appending literal value (#14200) 2022-04-28 08:44:30 +03:00
yuyi
09f8b6a380
checker: check error in for_c_stmt with optional call (#14190) 2022-04-28 08:43:16 +03:00
tzSharing
eb03fad934
gg: improve some loops in draw_rounded_rect* methods (#14195) 2022-04-27 22:57:48 +03:00
Delyan Angelov
f53b9b4f12
ci: fix tcc compilation of atomic_test.v 2022-04-27 22:50:18 +03:00
Alexander Medvednikov
7dbfa86f25 all: atomic int fixes 2022-04-27 18:31:21 +03:00
yuyi
82ac39eca6
math: fix error for math.abs(0.0)/math.abs(0) (related #14165) (#14191) 2022-04-27 13:23:37 +03:00
yuyi
752e105f25
cgen: fix error for generic sumtype casting to typenode (#14188) 2022-04-27 11:32:43 +03:00
tzSharing
85f616877f
gg: fix gg.draw_rounded_rect_empty() graphical abnormalities and some optimizations (#14186) 2022-04-27 11:22:57 +03:00
playX
b76095f28a
checker: allow + - * on pointers for translated code (#14183) 2022-04-26 21:00:44 +03:00
R cqls
c26b7666c7
gg: some stuff required to have svg and png screenshots working on v ui (#14180) 2022-04-26 20:59:36 +03:00
yuyi
be513b4c27
cgen: split up array_init() (#14178) 2022-04-26 20:58:47 +03:00
Larpon
1c48a8d760
strconv: add missing doc strings (#14164) 2022-04-26 18:09:36 +03:00
yuyi
660201c188
cgen: fix error for cast to empty interface (fix #14162) (#14176) 2022-04-26 13:26:48 +03:00
Brian Callahan
b9a0e2d285
sokol: support compilation on OpenBSD (#14169) 2022-04-26 13:14:00 +03:00
yuyi
38afd74d26
ast, checker, cgen: fix error for multi-return in or expr (fix #14167) (#14172) 2022-04-26 12:17:05 +03:00
playX
95880dfe5c
checker: allow indexing through alias to int (#14177) 2022-04-26 12:15:35 +03:00
playX
dce2173ac9
checker: c2v fixes (#14161) 2022-04-26 01:34:26 +03:00
Alexander Medvednikov
501b293e84 checker: remove already handled "undefined" errors 2022-04-25 16:53:34 +03:00
Larpon
d799abd139
regex: rephrase doc string (#14159) 2022-04-25 16:03:13 +03:00
yuyi
e42dc8e228
checker: fix error for match aliases (#14157) 2022-04-25 14:42:43 +03:00
yuyi
f89c81087b
checker: check error for array.index() argument (#14147) 2022-04-25 14:42:31 +03:00
yuyi
aeba110d01
cgen: fix error for printing multi fixed array (#14141) 2022-04-25 14:42:05 +03:00
Larpon
283d181047
cli: add missing doc strings (#14158) 2022-04-25 14:41:46 +03:00
yuyi
88f22b4367
cgen: fix error for anon fn decl inside ternary (#14150) 2022-04-25 12:36:03 +03:00
Delyan Angelov
d35d67c2bd
eval: enable v interpret examples/hanoi.v 2022-04-25 12:20:37 +03:00
Nick Treleaven
d8a5df9044
checker: error if smaller signed == unsigned (#14078) 2022-04-25 12:09:25 +03:00
Delyan Angelov
147e6e669f
cgen: fix pushing to an array of string pointers (fix #14156) 2022-04-25 11:26:24 +03:00
yuyi
922cee9162
parser, checker, cgen: fix error for fn call using anon fn call argument (#14155) 2022-04-25 11:26:14 +03:00
Delyan Angelov
1291b621f6
ci: bump test retries for go_anon_fn_variable_call_test.v to 3 2022-04-25 10:32:41 +03:00
fleur
ddbe812f1b
cgen: add callconv support for fns from ptr (#14151) 2022-04-25 08:51:03 +03:00
Haren S
11ee2b6409
builder: improve macOS 10.5 and PPC support (#14152) 2022-04-25 08:17:00 +03:00
stackotter
563469ed9f
vfmt: fix array_init line wrapping (#14154) 2022-04-25 08:11:44 +03:00
yuyi
c819f0f86f
checker, cgen: fix printing in 'for v in a' (#14146) 2022-04-24 13:30:13 +03:00
Alexander Medvednikov
9355048b6c tmpl: minor fixes and optimizations 2022-04-23 16:01:44 +03:00
Delyan Angelov
3388caa6c5
ci: bump vtest retry to 6 for channel_select_test.v (fails sporadically in the windows-gcc job) 2022-04-23 15:36:19 +03:00
yuyi
d934472b17
checker: simplify checking array.contains() argument (#14133) 2022-04-22 22:34:13 +03:00
yuyi
b86320a669
parser: minor cleanup in stmt() (#14136) 2022-04-22 22:33:13 +03:00
yuyi
5dce091379
checker, cgen: fix generic empty interface to multi struct (#14132) 2022-04-22 11:02:51 +03:00
Alexander Medvednikov
9b565bf765 cgen: fix enum switch bug in translated code 2022-04-22 02:31:32 +03:00
tzSharing
03d21a727e
gg: fix gg.draw_rounded_rect_filled() graphical abnormalities (#14128) 2022-04-22 00:16:10 +03:00
Larpon
506259adb6
os: add behavior info to is_dir_empty documentation (#14110) 2022-04-21 18:21:00 +03:00
yuyi
26b0e7fd34
fmt: remove extra parentheses (#14125) 2022-04-21 18:20:32 +03:00
Delyan Angelov
2080557f50
ast: allow a := match x { 101 { ... for {...} ... y } 2022-04-21 13:31:06 +03:00
yuyi
8a18f9175a
cgen: fix error for if expr with nested match expr (#14122) 2022-04-21 13:02:31 +03:00
yuyi
448938be0d
parser: fix generic anon fn decl with type only argument (#14124) 2022-04-21 12:53:13 +03:00
yuyi
99eb9fdaab
checker: fix error for fn with array of aliases argument (#14123) 2022-04-21 12:52:09 +03:00
yuyi
f13583b04a
checker: check array builtin method's arguments (#14119) 2022-04-21 12:51:04 +03:00
yuyi
8013bd43b0
checker: check map builtin method's arguments (#14120) 2022-04-21 12:49:46 +03:00
ChAoS_UnItY
c5824c36f2
checker, cgen: allow static (fixed) arrays in in operator (#14121) 2022-04-21 10:32:29 +03:00
Delyan Angelov
31b28af179
bootstrap: remove -I ./thirdparty/stdatomic/nix from make files (#14111) 2022-04-21 00:12:50 +03:00
lemon
960225f7a7
builtin: fix -cc gcc -gc boehm on linux and macos (#14115) 2022-04-21 00:12:17 +03:00
Nick Treleaven
1533b77404
builtin: remove unnecessary casts for defunct small unsigned warning (#14108) 2022-04-20 21:47:09 +03:00
yuyi
0260c2a552
checker: minor cleanup in assign_stmt() (#14107) 2022-04-20 21:03:41 +03:00
Hunam
0374f021c5
os: small cleanup of function description (#14112) 2022-04-20 20:58:41 +03:00
mjh
1546645f63
datatypes: fix bst child access, when .root is 0 (#14080) 2022-04-20 16:49:18 +03:00
Larpon
a1342e85c3
os: add info about overwritten content to write_file (#14109) 2022-04-20 15:29:58 +03:00
yuyi
52ea0b8cc3
ast: minor cleanup of types.v (#14103) 2022-04-20 14:24:13 +03:00
yuyi
ce4c2afc9c
checker, cgen: use 'stmts.last()' instead of 'stmts[stmts.len - 1]' (#14105) 2022-04-20 14:23:32 +03:00
yuyi
44ba19716b
checker: fix error for fn with multi return (#14095) 2022-04-20 13:09:40 +03:00
yuyi
0c3b69eaef
checker: fix error for assign array of aliases (#14096) 2022-04-20 13:08:47 +03:00
Alexander Medvednikov
364656b312 builtin: define C.abs() 2022-04-20 13:03:30 +03:00
yuyi
8cc79e4299
checker: check error for arguments of array.contains() (#14102) 2022-04-20 11:00:59 +03:00
playX
711e90cf99
v.util: add math to builtin_module_names (temporary fix for C2V) (#14100) 2022-04-20 10:57:55 +03:00
playX
f6a0c26a85
checker: c2v fixes (#14091) 2022-04-20 01:09:34 +03:00
Delyan Angelov
9646e4b9d8
sync: use #insert for atomic.h, so that bootstrapping can be simplified 2022-04-19 20:06:20 +03:00
Delyan Angelov
006df58451
checker, cgen: add support for #insert, to simplify bootstrapping V 2022-04-19 19:37:04 +03:00
JalonSolov
daf5d32327
checker: fix error message when number of generic parameters is incorrect (#14090) 2022-04-19 18:34:23 +03:00
yuyi
a318a2e09e
examples: fix optional in string interpolation and format error (#14079) 2022-04-19 13:29:53 +03:00
yuyi
e16ce3af88
token: minor cleanup of token.v (#14083) 2022-04-19 13:28:27 +03:00
yuyi
6164654d11
checker: check fn return type mismatch (#14081) 2022-04-19 13:04:41 +03:00
Nick Treleaven
4400efeb9f
checker: Revert part of small_unsigned == signed (#13967) (#14075)
`gcc -W` doesn't error for e.g. u16 == i32, only for u32 == i16.
Any u16 value can fit in an i32.
2022-04-18 21:30:09 +03:00
yuyi
7ef64bde50
checker: check error for fn decl with optional arguments (#14076) 2022-04-18 21:22:31 +03:00
yuyi
d0a11f50ca
cgen: minor cleanup of infix_expr.v (#14070) 2022-04-18 15:05:19 +03:00
yuyi
fe371845da
ast, checker, cgen: fix aggregations type check (#14066) 2022-04-18 12:38:08 +03:00
spaceface
775c4c34b5
builtin: compile the gc statically by default (#14063) 2022-04-18 10:50:21 +03:00
Ikko Ashimine
56a3539ea9
io: fix typo in readerwriter.v (#14060)
seperate -> separate
2022-04-17 17:40:14 +03:00
yuyi
17c34b09a6
checker, cgen: minor cleanup of last expr stmt expression (#14057) 2022-04-17 14:08:43 +03:00
yuyi
cb44f5981e
checker, cgen: fix error for if expr with generic sumtype (#14056) 2022-04-17 08:19:44 +03:00
Vincenzo Palazzo
4f14f7714f
checker: ensure that the variant SubType exists (#14053)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2022-04-16 19:29:10 +03:00
Delyan Angelov
8a57f7ed2d
v.util: always compile vfmt with -d vfmt to enable more efficient parsing 2022-04-16 14:05:55 +03:00
Julien de Carufel
16ead4e63c
cgen: fix infix generics bug (#14048) 2022-04-16 13:23:19 +03:00
Delyan Angelov
5b7e538119
v.pref: show the VCROSS_COMPILER_NAME notice only when the output is not a .c file 2022-04-16 10:46:03 +03:00
Delyan Angelov
4a71b27c52
ci: add test_byte_vs_u8 to int_test.v 2022-04-15 21:42:07 +03:00
Delyan Angelov
d75c408868
ci: fix typeof_simple_types_test.v 2022-04-15 21:22:32 +03:00
Delyan Angelov
82c5621621
ci: fix typeof_simple_types_test.v 2022-04-15 21:21:44 +03:00
Delyan Angelov
675f8b6300
ci: fix generic_fn_infer_struct_test.v 2022-04-15 21:21:12 +03:00
Delyan Angelov
ad231cec2f
ci: fix code_test.v 2022-04-15 21:20:03 +03:00
Delyan Angelov
87a373d82c
ci: fix coutput_test.v 2022-04-15 21:18:55 +03:00
Delyan Angelov
c7aedb8e8d
ci: fix fmt_test.v 2022-04-15 21:16:31 +03:00
Delyan Angelov
375361b787
ci: fix ./v check-md -hide-warnings . 2022-04-15 21:08:09 +03:00
Delyan Angelov
840f474fb5
ci: fix ./v -progress test-cleancode 2022-04-15 21:04:10 +03:00
Delyan Angelov
e802e0b9cb
ci: fix more test-all failures 2022-04-15 21:02:03 +03:00
Delyan Angelov
bb2a324d61
ci: more gen.js fixes 2022-04-15 20:51:04 +03:00
Delyan Angelov
868d3e1008
ci: fix failing tests for mysql, crypto.rc4, strings 2022-04-15 20:51:04 +03:00
Alexander Medvednikov
c03fe020bf parser: do not allow [x]byte{} 2022-04-15 20:40:37 +03:00
Delyan Angelov
6f5a513d8b
ci: fix v build-examples 2022-04-15 20:31:10 +03:00
Delyan Angelov
173e6a943b
checker: fix tests (adjust byte to u8 in .out files too) 2022-04-15 20:15:03 +03:00
Delyan Angelov
cc8803c602
builtin: fix failing embed_file_test.v (pub fn (data &u8) vbytes(len int) []u8 {) 2022-04-15 19:57:00 +03:00
Alexander Medvednikov
78cb6e2b41 all: handle fixed []u8 2022-04-15 18:35:56 +03:00
Alexander Medvednikov
1c6f63ac0a tests: use u8 everywhere 2022-04-15 18:34:15 +03:00
Alexander Medvednikov
fbb9e65c0f all: ~500 more byte=>u8 2022-04-15 18:25:45 +03:00
Alexander Medvednikov
ae6a25f44e websocket, utf: u8 fixes 2022-04-15 16:24:02 +03:00
Alexander Medvednikov
e97ebf8cfc sokol: byte => u8 2022-04-15 16:12:05 +03:00
Alexander Medvednikov
258d1f77dc net: fix byte buffers 2022-04-15 15:57:45 +03:00
Alexander Medvednikov
af73e195da net: byte fixes 2022-04-15 15:55:39 +03:00
Alexander Medvednikov
fb192d949b all: replace []byte with []u8 2022-04-15 15:35:35 +03:00
Alexander Medvednikov
0527ac633e ast: remove .byte 2022-04-15 15:30:37 +03:00
Alexander Medvednikov
dbcf6e9c33 os: fix Process on windows 2022-04-15 15:23:05 +03:00
Alexander Medvednikov
c14984899b builtin: fix windows fn definitions 2022-04-15 15:18:21 +03:00
Alexander Medvednikov
a1372e284c builtin: update alloc fn definitions 2022-04-15 15:16:10 +03:00
Alexander Medvednikov
c3ad4e2069 encoding.base64: use u8 2022-04-15 15:10:34 +03:00
Alexander Medvednikov
d4a0d6f73c all: byte => u8 2022-04-15 14:58:56 +03:00
Alexander Medvednikov
b49d873217 builtin: [1000]u8 fix 2022-04-15 14:48:39 +03:00
Alexander Medvednikov
014c3c97f0 all: byte => u8 2022-04-15 14:45:52 +03:00
Alexander Medvednikov
7f3b91e688 builtin: more byte => u8 2022-04-15 14:10:11 +03:00
Alexander Medvednikov
1e7eb713fb cgen: remove byte references from cheaders.v 2022-04-15 14:04:53 +03:00
Alexander Medvednikov
ba7b329c73 builtin: more byte=>u8 2022-04-15 13:55:56 +03:00
Alexander Medvednikov
e6ff1508d2 all: make u8 the primary type, byte the alias 2022-04-15 13:43:03 +03:00
Delyan Angelov
566f150b24
net.http: add parse_request_head/1, cleanup existing code 2022-04-15 10:33:44 +03:00
Delyan Angelov
c3ee4fb2a2
crypto: make public all Digest.checksum() methods 2022-04-15 09:02:42 +03:00
Alexander Medvednikov
3b36f16365 all: volatile globals 2022-04-15 02:39:38 +03:00
Alexander Medvednikov
0dff050735 builtin: u8/byte clean up 2022-04-14 16:43:34 +03:00
yuyi
2d6d6c9ac9
json: fix json decode with sumtype of multi array type (#14035) 2022-04-14 15:36:24 +03:00
yuyi
c4dff0d797
cgen: format the generated source code by gen_str_for_union_sum_type() (#14026) 2022-04-14 15:26:10 +03:00
yuyi
72c2dc805d
cgen: fix error for generics struct that parent has str to string (#14037) 2022-04-14 15:23:50 +03:00
Delyan Angelov
f6c9a60f99
pref: only show the support cross compiler warning/VCROSS_COMPILER_NAME message for the C backend 2022-04-14 15:04:00 +03:00
Delyan Angelov
bf62b2e33e
vfmt: stabilise the attribute sorting order (sort first by length of atributes, then in alphabetical order of their names) 2022-04-14 14:53:45 +03:00
Delyan Angelov
f1f75897b3
sync: use asserts in channel code only when -d debug is passed 2022-04-14 14:00:57 +03:00
Delyan Angelov
e555335bf0
ci: fix windows-msvc builds, as well as the windows-cross job, turn on deprecation notices for [windows_stdcall] and [_fastcall] 2022-04-14 13:36:51 +03:00
fleur
68401d9dc8
gen: add callconv attribute for fn and type (#14027) 2022-04-14 11:29:52 +03:00
Delyan Angelov
5905590e78
builder, pref: use i686-w64-mingw32-gcc for cross compiling 32bit windows apps with v -m32 -os windows hw.v 2022-04-14 10:42:25 +03:00
Vincenzo Palazzo
48c295150f
checker: fixes typechecking for a sum type with an alias type (#13974) 2022-04-13 18:38:26 +03:00
yuyi
dc08105022
json: fix error for json decode with sumtype (#14025) 2022-04-13 18:06:28 +03:00
Delyan Angelov
e5809363de
docs: describe the contents of vlib/v/gen/c/testdata/ and how to write tests for the checker, that still do not have good codegen counterpart 2022-04-13 14:55:26 +03:00
Alexander Medvednikov
d7adb67d52 cgen: fix [cinit] 2022-04-13 02:55:47 +03:00
Alexander Medvednikov
2525a30b5f cgen: [cinit] attr for globals 2022-04-13 00:30:51 +03:00
yuyi
e3e5bef139
ast, parser: fix formatting of if with inline comments (fix #7796) (#14018) 2022-04-13 00:15:27 +03:00
Nick Treleaven
c780de6282
checker: disallow 'small_unsigned == signed' (#13967) 2022-04-12 19:37:30 +03:00
fleur
6718958058
cgen: add a [_fastcall] fn attribute (#14016) 2022-04-12 17:06:56 +03:00
牧心
a810fbb80e
cgen: fix infix_expr_in_optimization compile error when treating some kind cannot directly use '==' (#14015) 2022-04-12 16:19:44 +03:00
Delyan Angelov
8788512c4d
checker: make using err.msg and err.code produce an *actual* notice, even with the present compatibility hack (will be *removed* in 2022-06-01) 2022-04-12 14:56:02 +03:00
Delyan Angelov
4c7cdd2a2d
checker,cgen: use faster sym.idx == ast.error_type_idx integer comparisons, instead of sym.name == "IError" 2022-04-12 14:49:51 +03:00
Delyan Angelov
62032c43db
ast: fix Table.rewrite_already_registered_symbol calls (they were setting sym.idx to 0) 2022-04-12 14:49:51 +03:00
Delyan Angelov
9b43713ec5
net: simplify TcpListener.accept, use C.accept(l.sock.handle, 0, 0), since we do not care about the local address of the accepted connection 2022-04-12 11:47:41 +03:00
Delyan Angelov
716cb17aea
math.big: wrap all asserts in module code (not in tests) in $if debug {} (#14012) 2022-04-12 09:38:53 +03:00
crthpl
afb07e0e16
cgen: fix deadlock when returning multiple values in lock (#14014) 2022-04-12 09:21:27 +03:00
yuyi
3e3b2e25db
parser, fmt: fix the formatting of fn headers with inline comments (#14010) 2022-04-11 22:31:06 +03:00
Larpon
07207db998
examples: reduce C. prefix usage, rename fontstash enums (#14011) 2022-04-11 22:23:06 +03:00
Delyan Angelov
382586da6d
ci: fix toml segfault (remove unused low level builtin option IError.msg compatibility hack) 2022-04-11 21:49:59 +03:00
Delyan Angelov
e64c8cce62
ci: bump size of EMPTY_STRUCT_DECLARATION's _dummy_pad field to 8 (a voidptr, instead of char) 2022-04-11 17:53:18 +03:00
yuyi
5551cb248c
ast, parser, fmt: fix formatting of consts with embedded comments (#14008) 2022-04-11 17:27:41 +03:00
牧心
25d8faabf6
cgen: fix alloc empty struct array error (#14007) 2022-04-11 14:16:09 +03:00
Delyan Angelov
843ce43077
strconv: cleanup atof.c.v - use a ParserState enum, clarify comments 2022-04-11 12:01:47 +03:00
Delyan Angelov
e4dfffd70b
toml: remove math import (used only for math.max and math.max_u32) 2022-04-11 10:22:31 +03:00
Nick Treleaven
1938bc48e7
toml.scanner: make end_of_text, at, next and peek return u32 (#13998) 2022-04-11 10:12:04 +03:00
yuyi
fa66183f43
checker: check error for map of generic struct init (#13999) 2022-04-11 10:07:23 +03:00
Delyan Angelov
a0e7a46be4 rand: speed up MT19937RNG.u64 2022-04-10 13:07:35 +03:00
Delyan Angelov
6c25f5b291 rand: fix needless array allocation in MT19937RNG.u64() 2022-04-10 13:02:31 +03:00
Subhomoy Haldar
3f90809035
rand: add missing pub modifiers for .byte() and .u32() methods (#13992) 2022-04-10 11:43:46 +03:00
牧心
11d9a67e3b
cgen: fix invalid operands to an_alias in an_array_of_aliased_values (#13994) 2022-04-10 11:42:17 +03:00
yuyi
93a5d03182
parser: improve embedded struct parsing/better error for Architecture []string (#13995) 2022-04-10 10:24:36 +03:00
Vincenzo Palazzo
3571f66a82
pref: fix access in invalid position on v search '' (#13993) 2022-04-10 10:21:58 +03:00
yuyi
473bc0254d
checker: check error for array of generic struct init (#13987) 2022-04-09 21:50:34 +03:00
Delyan Angelov
89d64b21ea
ci: remove manual free(f) in an autofree test, after 58febe46, which does it automatically now 2022-04-09 20:06:27 +03:00
Delyan Angelov
df30b79971
checker: allow for arr.any(opt_fn()?), add test 2022-04-09 19:50:10 +03:00
Daniel Oberhoff
58febe4607
cgen: fix autofree of heap variables (#13823) 2022-04-09 17:37:39 +03:00
yuyi
704e3c6e72
cgen: fix error for fn with fixed array argument (fix #13976) (#13982) 2022-04-09 15:57:27 +03:00
Delyan Angelov
60e718e7c6 test: save removing the nonexistent binary output for v fmt and v vet tests 2022-04-09 13:04:52 +03:00
Vincenzo Palazzo
2d867a2766
ast: fix reported errors, when arrays of types defined in modules are involved (#13952) 2022-04-08 17:38:34 +03:00
yuyi
2a88b313d4
cgen: format json encode/decode generated c codes (#13972) 2022-04-08 17:27:05 +03:00
yuyi
617608b23d
cgen: fix optional struct declarations for empty structs (#13970) 2022-04-08 14:51:37 +03:00
Larpon
45a427e68b
clipboard: fix segfault when pasting to some X11 apps. Fixes #13891 (#13971) 2022-04-08 13:32:38 +03:00
Larpon
52f1c615a6
fontstash: document all functions (#13969) 2022-04-08 13:22:23 +03:00
Joe Conigliaro
a0c07454b1
checker: remove debug code from previous commit 2022-04-08 18:27:14 +10:00
Joe Conigliaro
426e9d1734
checker: fix condition for checking if tmpl var is inherited 2022-04-08 18:25:08 +10:00
Joe Conigliaro
e1c8b07fa5
checker/tests: format test added in prev commit & rename chekcer prop 2022-04-08 17:41:23 +10:00
Joe Conigliaro
8dc2601080
all: comptime_call - simplify tmpl scoping, solves many issues. 2022-04-08 17:33:24 +10:00
Delyan Angelov
5a695c81dc
ci: fix the recorded output for compare_structs.c.must_have after eea46c4 2022-04-07 18:08:56 +03:00
crthpl
b232a3b0d1
cgen: fix .filter() and .map() on shared arrays (#13954) 2022-04-07 18:05:11 +03:00
Delyan Angelov
eea46c4e1a
cgen: fix error, when a struct with over 8 fields, is used as a method receiver directly. 2022-04-07 17:20:14 +03:00
Subhomoy Haldar
022fae1e7f
rand: make mt19937 automatically seeded, add seed_len to wyrand (#13966) 2022-04-07 16:00:30 +03:00
playX
6a820c2845
checker: allow all binary operations when translating code produced by c2v (#13964) 2022-04-07 12:22:24 +03:00
yuyi
e7fd8c4e7c
cgen: fix error for dereference mut interface in loop (fix #13913) (#13941) 2022-04-07 12:01:54 +03:00
yuyi
a58dde48f8
cgen: fix error for optional multi return (#13959) 2022-04-07 09:12:23 +03:00
yuyi
c9dcdf6744
cgen: fix json decode with optional argument (fix #13943) (#13958) 2022-04-06 19:34:22 +03:00
Larpon
56e6fd01c5
gg: document pub functions in text_rendering and m4/vector (#13961) 2022-04-06 19:34:02 +03:00
Delyan Angelov
c5d8d27b90 ci: fix -cstrict failures for vweb_test.v etc. 2022-04-06 08:54:01 +03:00
Vincenzo Palazzo
6412f8ba0b
checker: add a known error on alias cast with generics (#13946) 2022-04-05 19:09:46 +03:00
Larpon
1482db6d1a
gg: add missing doc strings to android, recorder and gg.c.v (#13936) 2022-04-05 18:42:01 +03:00
Vincenzo Palazzo
359f16fdfd
parser: fixed parsing prototype function with recursive type (#13922) 2022-04-05 18:39:49 +03:00
yuyi
0cba579a7b
cgen: simplify codegen for optional consts (#13948) 2022-04-05 17:54:23 +03:00
Delyan Angelov
2ecfd1b351
ci: fix clang sanitize errors for json_decode 2022-04-05 17:52:10 +03:00
Larpon
11ccf06441
time: add missing doc string to parse.v (#13933) 2022-04-05 13:21:37 +03:00
Larpon
2350dbbd57
gg: add missing doc strings to pub fns in image.* (#13934) 2022-04-05 13:21:03 +03:00
Larpon
0b046c14a8
clipboard: add doc strings to all implementations (#13932) 2022-04-05 13:06:32 +03:00
Delyan Angelov
f5e4d17cf3
json: return errors with more context, on failed json.decode() calls. 2022-04-05 12:06:08 +03:00
yuyi
f6b8e1e13f
cgen: fix error for const using nested optionals (#13939) 2022-04-05 05:58:11 +03:00
Delyan Angelov
0bd8fbc9a8 term, term.ui: fix a panic on !=linux unixes when running examples/term.ui/ 2022-04-04 19:25:25 +03:00
Nick Treleaven
2cd9c91e98
vdoc: highlight terminal examples for -comments -color (#13937) 2022-04-04 18:13:24 +03:00
Larpon
aa9e2ebb25
gg: document all draw functions (#13931) 2022-04-04 18:09:19 +03:00
pancake
5369379738
repl: handle exit(n) (#13930) 2022-04-04 16:22:34 +03:00
Alexander Medvednikov
92bfd9b353 cgen: fixed array index for translated code 2022-04-04 12:09:29 +03:00
StunxFS
725b472d37
checker: fix typos (#13929) 2022-04-04 10:07:53 +03:00
Nick Treleaven
91b40304b7
vdoc: highlight .., ... as punctuation & postfix ops as operators (#13924) 2022-04-04 09:21:54 +03:00
Alexander Medvednikov
719a3b5de3 cgen: fix fixed arrays assignment in translated code 2022-04-04 06:20:54 +03:00
Alexander Medvednikov
a55e930c00 checker: fix pointer checks in translated code 2022-04-04 05:35:15 +03:00
Alexander Medvednikov
cc227d8520 checker: fix non-numeric type check for translated code 2022-04-04 04:59:14 +03:00
Nick Treleaven
d10135e2c4
vdoc: HTML highlight generic function as function, not name (#13923) 2022-04-03 23:41:02 +03:00
Delyan Angelov
44603f8e59
checker: add suggestions for misspelled mod.func_name() calls 2022-04-03 20:07:52 +03:00
Vincenzo Palazzo
51c1d666c2
checker: fix operator overloads (for large structs with > 8 fields, the method receiver is normally auto converted to a reference) (#13889) 2022-04-03 19:30:29 +03:00
StunxFS
38853568b4
encoding.csv: allow passing a custom delimiter to the new_reader function (#13910) 2022-04-03 19:13:43 +03:00
Nick Treleaven
782d5374c9
builtin: add an array.drop(n) method (#13907) 2022-04-03 17:05:50 +03:00
Delyan Angelov
a1e9cae5d2
tests: add a vlib/v/tests/known_errors/known_errors_test.v test runner 2022-04-03 12:54:22 +03:00
yuyi
0497b885dc
checker: minor cleanup in find_unreachable_statements_after_noreturn_calls() (#13903) 2022-04-03 11:19:19 +03:00
yuyi
8c55a9ecd3
builtin: minor optimization of array.push() and array.push_noscan() (#13904) 2022-04-03 11:04:18 +03:00
Cameron Katri
340543dfc0
cli: add automatic manpage generation with -man (#13911) 2022-04-03 10:12:47 +03:00
Delyan Angelov
71dc6c224a
tests: make vlib/net/udp_test.v more stable, and less noisy on the tests-sanitize-address-gcc job 2022-04-02 20:00:26 +03:00
Cameron Katri
d585fbea8a
time: implement Time.strftime(fmt string) as a wrapper for strftime(3) (#13898) 2022-04-02 18:33:37 +03:00
Nick Treleaven
42f92db0ab
v.doc: parse multi-line examples (so they get highlighted) (#13894) 2022-04-02 18:29:12 +03:00
yuyi
faa55b46de
cgen: fix array of fixed array (fix #13895) (#13901) 2022-04-02 18:00:59 +03:00
yuyi
0bf0c73a49
checker: fix error for returning optional (#13902) 2022-04-02 17:25:01 +03:00
pancake
af79c1e6ef
os: implement os.config_dir() like in Go's UserConfigDir (#13893) 2022-04-01 22:04:43 +03:00
Vincenzo Palazzo
d7817863c6
checker: type inference over a generic type should compile (#13824) 2022-04-01 19:31:27 +03:00
Delyan Angelov
9d2529b611
ci: reduce repetitions in test_global_mutex in init_global_test.v
With the old number of repetitions (2500000), that test alone could take over
30 seconds, in the CI environment.
2022-04-01 19:23:15 +03:00
yuyi
6987f2c087
time: fix error for time.local() on windows (#13892) 2022-04-01 17:16:46 +03:00
Vincenzo Palazzo
02c80bd445
time: fix repetitive time.now().local().local().local() offsetting the time further and further (#13861) 2022-04-01 00:11:17 +03:00
yuyi
bc98c11d9d
parser, checker, cgen: minor cleanup of go_expr() (#13875) 2022-03-31 19:58:04 +03:00
yuyi
db3bbb58cf
cgen: fix error for cross assign of the reserved name variable (#13884) 2022-03-31 19:55:21 +03:00
Nick Treleaven
a87cd9663e
vdoc: highlight inline examples for -f html (#13879) 2022-03-31 19:32:32 +03:00
R cqls
5c43493183
sokol: add support for compiling with -d darwin_sokol_glcore33 on macos (#13885) 2022-03-31 16:52:21 +03:00
Cameron Katri
b15240185e
builder,cgen: iOS fixes (#13883) 2022-03-31 11:51:13 +03:00
kylepritchard
6137ce23c0
math: allow acos(0) (fix #13876) (#13877) 2022-03-30 21:36:50 +03:00
yuyi
ae1cb5697e
cgen: minor cleanup in ref_or_deref_arg() (#13874) 2022-03-30 21:06:38 +03:00
yuyi
d40a502981
checker: minor cleanup in fn_call() (#13873) 2022-03-30 21:05:17 +03:00
Subhomoy Haldar
7ef7188f4b
math.big: add bit_len, optimize gcd, add documentation (#13872) 2022-03-30 15:52:09 +03:00
Delyan Angelov
8121a8ada0 ci,cgen: comment out including stdbool.h for now
Fails tcc tests on windows, see: https://github.com/vlang/v/runs/5749951315?check_suite_focus=true
and vlib/v/checker/tests/globals_run/function_stored_in_global.vv
2022-03-30 14:26:20 +03:00
Delyan Angelov
566735b298 cgen: add nil to c_reserved (it is a macro defined in MacTypes.h on macos) 2022-03-30 13:33:03 +03:00
Cameron Katri
093994655c
v.builder: fix iOS compilation from non-macOS, allow -cc to override the default cross compiler (#13866) 2022-03-30 10:26:13 +03:00