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

6684 Commits

Author SHA1 Message Date
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
Louis Schmieder
4bdbb0cfa8
orm: add type detection of db (#8756) 2021-02-15 17:14:39 +02:00
yuyi
a9c2045dbd
cgen: fix var name clash of array/map (fix #1994) (#8765) 2021-02-15 15:51:57 +02:00
Nick Treleaven
629d43caf5
checker: warn when using goto outside of unsafe (#8741) 2021-02-15 15:48:24 +02:00
Peter Badida
6781f732f4
gen: fix infinite loop when struct's ref field is pointing to self (#8632) (#8641) 2021-02-15 15:43:10 +02:00
penguindark
325aef6d41
gg: add gg.m4, use it in the sokol GLSL examples (#8755) 2021-02-15 15:40:28 +02:00
spaceface
e3649ec4d3
all: implement type_name() for interfaces too (#8767) 2021-02-15 15:29:44 +02:00
zakuro
4e2418e9cf
os: add test for os.file_name (#8757) 2021-02-15 07:37:35 +01: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
d3bcd5d305
fmt: keep single line if in struct init (#8734) 2021-02-14 19:22:24 +01:00
zakuro
e534b4397d
checker: report correct position for non-bool cond error (#8735) 2021-02-14 19:19:41 +01:00
Nick Treleaven
82650ee813
parser: fix parsing attribute after fn prototype with no return type (#8727) 2021-02-14 08:05:20 +01:00
zakuro
e4f15605c0
checker: reject void type condition (#8737) 2021-02-14 07:33:24 +01:00
Delyan Angelov
3d29f819cf
builder: add markused.mark_used calls to js.v and x64.v 2021-02-13 18:09:04 +02:00
Delyan Angelov
e809264f12
builder,checker: split the unused marking into a new v.markused module 2021-02-13 18:02:31 +02:00
Uwe Krüger
374739b804
all: rename [ref_only] -> [heap] (#8718) 2021-02-13 16:52:01 +02:00
Delyan Angelov
2a8d0ddaf5
checker: add os.init_os_args_wide to the -skip-unused whitelist too 2021-02-13 16:33:35 +02:00
Delyan Angelov
60c16313f3
checker: enable ./v -skip-unused self 2021-02-13 16:08:44 +02:00
Delyan Angelov
eaaac220be
checker: make -skip-unused more conservative to make v test vlib/builtin pass 2021-02-13 15:47:17 +02:00
Uwe Krüger
835b3b2b81
sync: simplify WaitGroup and PoolProcessor and use atomic counters (#8715) 2021-02-13 13:52:27 +01:00
Nick Treleaven
d03c1d615a
os: improve rm error message (#8719) 2021-02-13 13:51:38 +01:00
Delyan Angelov
0b60510c9c
cgen: cleanup generating helper comments with -skip-unused 2021-02-13 10:31:48 +02:00
Ned Palacios
db609a0784
checker: skip checking for invalid fn return type (#8703) 2021-02-13 01:21:05 +01:00
Uwe Krüger
40066a5daa
checker: obey [ref_only] tag, allow embedding in other ref struct (#8707) 2021-02-13 00:47:37 +01:00
glebbash
aa548f45ea
docs: fix functions in array/map example (#8695) 2021-02-12 21:10:54 +02:00
bettafish04
0b777c68c3
net: fix unix sockets (#8697) 2021-02-12 20:10:06 +02:00
StunxFS
6b431b18f5
vweb.tmpl: fix a little typo (#8704) 2021-02-12 20:06:37 +02:00
Joe Conigliaro
c904c9178d
checker: support ParExpr for trying to take address errors & simplify messages 2021-02-13 02:49:22 +11:00
Delyan Angelov
1675b6f3e0
ci: fix code-formatting job 2021-02-12 15:44:12 +02:00
Joe Conigliaro
5d36a59dd8
checker: fix returning [] from fn which retuns optional array 2021-02-12 22:30:30 +11:00
Alexander Medvednikov
0a03856c83 parser: small c2v fixes 2021-02-12 09:12:26 +01:00
yuyi
67c6f24c84
cgen: format match_expr (#8692) 2021-02-12 03:37:31 +01:00
yuyi
3164e29651
all: fix fn_or_for_in mut value (part 1) (#8671) 2021-02-12 02:03:11 +02:00
Nick Treleaven
84a16d8684
map: add move method (#8660) 2021-02-12 02:02:33 +02:00
Larpon
65f2420516
os: fix cp_all mkdir panic (#8680) 2021-02-12 01:55:36 +02:00
Nick Treleaven
375efb0953
checker: improve errors for return count mismatch (#8686) 2021-02-12 01:47:11 +02:00
Joe Conigliaro
317d450723
checker: add error when trying to take address of call expr 2021-02-12 10:39:02 +11:00
Delyan Angelov
8f6fec4364 ci: fix building examples/concurrency/concurrency.v on macos 2021-02-12 01:18:40 +02:00
Delyan Angelov
58393bd3f9
ci: fix unix_test.v on unix != macos 2021-02-12 01:12:42 +02:00
Delyan Angelov
89521584a2 ci: fix unix sockets test on macos 2021-02-11 22:34:38 +02:00
bettafish04
9b4f2edbfa
net: move unix socket code to net.unix and skip net/unix/unix_test.v … (#8681) 2021-02-11 18:51:12 +02:00
Delyan Angelov
ea401b1192
ci: #include <afunix.h> in vlib/net/net_windows.c.v 2021-02-11 12:45:25 +02:00
Delyan Angelov
578de634fe
sync: move pool related code to sync.pool, cleanup, add a README.md 2021-02-11 10:55:23 +02:00
Delyan Angelov
93c1c1cec3
builder: add generated C lines with -stats too 2021-02-11 08:38:09 +02:00
cbracketdash
c636a7080d
rand: add rand.ascii (#8675) 2021-02-11 08:32:40 +02:00
bettafish04
d4f6488afd
net: add better unix socket support (#8651) 2021-02-11 01:24:15 +01:00
zakuro
f371803a32
cgen: move comp_if_to_ifdef to comptime.v (#8668) 2021-02-11 01:22:49 +01:00
Delyan Angelov
de287c0add
builder: add C source code size info on -stats 2021-02-10 19:12:12 +02:00
zakuro
4305ce1493
checker: extract long match branches in c.stmt(), into separate checker functions (#8666) 2021-02-10 18:51:41 +02:00
SurmanPP
f2ad6dd4d9
os: fix os.walk, when passing paths ending with path_separator (#8672) 2021-02-10 18:48:01 +02:00
Delyan Angelov
4646c414d8
checker: fix -skip-unused with struct inits with default expressions 2021-02-10 18:25:57 +02:00
cbracketdash
eb7009b60a
rand: generate hexadecimal numbers (#8664) 2021-02-10 11:01:25 +01:00
yuyi
f2e74bce7a
checker: fix sumtype assign error (fix #7988) (#8655) 2021-02-10 10:59:56 +01:00
Alexander Medvednikov
035a163454 json: encode_pretty (p. 2) + tests 2021-02-10 10:17:29 +01:00
Alexander Medvednikov
f67e4ab57c json: encode_pretty (p. 1) 2021-02-10 10:13:06 +01:00
yuyi
95c3ef3a6a
cgen: minor cleanup in stmt() (#8659) 2021-02-09 23:00:43 +01:00
Uwe Krüger
f3c5f24c17
allow lock expression to return multiple objects (#8657) 2021-02-09 17:09:10 +02:00
Nick Treleaven
d37fb5641f
parser: improve printing of unexpected tokens (#8654) 2021-02-09 17:07:30 +02:00
Bobitsmagic
0f92485698
builtin: fix typo in builtin/array.v (#8658) 2021-02-09 17:04:47 +02:00
Swastik Baranwal
6de78ecb59
term: implement term.clear() for windows (#8650) 2021-02-09 14:25:31 +02:00
Delyan Angelov
5308b63a01
ci: fix the -cflags "-Werror" job, by explicit casting to void** 2021-02-09 14:22:51 +02:00
Delyan Angelov
d110f0de74
tests: add a regression test for 3d2afcf 2021-02-09 14:11:09 +02:00
Delyan Angelov
3d2afcf02e
cgen: fix gohandle_name generation (use .cname) 2021-02-09 12:55:05 +02:00
spaceface
1bb4be17d8
cgen: remove srwlock definition workaround for tcc on windows (#8652) 2021-02-09 12:44:18 +02:00
spaceface
4152c704f3
sokol: remove .lib extensions in #pragma directives (#8639)
fixes tcc on windows - this kind of fix has been done several times in the past, and should probably be upstreamed to sokol soon to prevent things from breaking every time we update the headers.
2021-02-09 11:36:01 +02:00
Mohammad Ali Chraghi
86e6b4f926
examples: improve the pg and vweb output (#8640) 2021-02-09 11:31:25 +02:00
Alexander Medvednikov
bfee8a528c cgen: add "case" to c_reserved 2021-02-09 03:49:19 +01:00
bettafish04
1a2ae0aead
net: add basic unix socket support (#8642) 2021-02-08 23:48:23 +01:00
Swastik Baranwal
09cff69919
all: allow using aliases as keys in map (#8589) 2021-02-08 18:51:05 +01:00
Lukas Neubert
8cb01ba8db
fmt: keep comments between and after imports (#8637) 2021-02-08 19:48:48 +02:00
Lukas Neubert
cb1f63f765
parser: replace eat_line_end_comments() with configurable eat_comments() (#8636) 2021-02-08 18:16:02 +02:00
Lukas Neubert
5abd49d9bc
cgen: cast default struct field value to correct SumType/interface (#8619) 2021-02-08 17:33:05 +02:00
Swastik Baranwal
e2ff26a066
cgen: fix gen of .sort method for > operator and improve grammar of error (#8615) 2021-02-08 17:19:54 +02:00
Nick Treleaven
e2ff2a5405
parser: deprecate {var | struct update (#8618) 2021-02-08 17:03:05 +02:00
yuyi
f2100166c7
cgen: minor cleanup in gen_str_for_option (#8622) 2021-02-08 17:00:51 +02:00
Nick Treleaven
9e751f72c4
doc, fmt: use map{key: value} syntax for map literals (#8623) 2021-02-08 16:57:42 +02:00
zakuro
8ae23cd89e
parser: make `v := f(v)' an undefined variable error (#8634) 2021-02-08 16:55:01 +02:00
zakuro
e5839effbc
checker/cgen: allow << operator for aliases (#8561) 2021-02-08 01:41:47 +01:00
Lukas Neubert
473cd1d416
fmt: single line ternary return (#8605) 2021-02-08 00:28:46 +01:00
Uwe Krüger
118ca1240e
all: allow shared element types for struct and arrays (#8631) 2021-02-08 00:28:29 +01:00
Lukas Neubert
7f4c582f1a
fmt: unwrap long infix exprs inside parenthesis if necessary (#8609) 2021-02-07 23:10:39 +01:00
Nick Treleaven
ff1aa06455
parser: require ++/-- to be on the same line as the previous token (#8621) 2021-02-07 23:10:16 +01:00
yuyi
81e8c3bc1b
cgen: minor optimization in infix_expr (#8625) 2021-02-07 17:22:54 +01:00
Larpon
bfd0bd1fb4
builtin: doc chan.v channel stub (#8577) 2021-02-07 12:42:24 +02:00
kristof de spiegeleer
2d875260e8
examples: Process examples (#8598) 2021-02-07 05:19:05 +01:00
Alexander Medvednikov
a81ee0e94e tools/fast: measure v.c size and parse/check/cgen steps 2021-02-07 04:48:54 +01:00
zakuro
9f59b04e86
fmt: remove unused selective imports (#8595) 2021-02-07 03:58:43 +01:00
Nick Treleaven
cd4f7101f7
parser: support short struct update syntax {...ident, (#8613) 2021-02-07 03:43:51 +01:00
Nick Treleaven
b92f980274
token: fix Token.str() for punctuation and operators (#8610) 2021-02-07 03:40:00 +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
Lukas Neubert
db0fc8fbc9
fmt: better function call wrapping inside ternary if branches (#8604)
* fmt: better funcation call wrap in singel line ifs

* tests

* format files
2021-02-06 21:46:52 +01:00
Uwe Krüger
cf230644b6
fmt: enable shared return types (#8614) 2021-02-06 21:25:06 +01:00
Uwe Krüger
5343f1374b
all: allow functions to return shared object (#8606) 2021-02-06 19:41:52 +01:00
zakuro
fe9d062b41
gen: fix bug where unreached defer is executed (#8594) 2021-02-06 18:40:39 +02:00
Larpon
de9813233f
gg: support getting system font on Android (#8611) 2021-02-06 18:36:43 +02:00
Delyan Angelov
e57b73bcfc
ci: fix the using_comptime_env.vv test (execute only on ubuntu-tcc again) 2021-02-06 13:07:21 +02:00
Swastik Baranwal
9b839b3b7d
cgen: fix gen of > operator overloading (#8600) 2021-02-06 12:59:20 +02:00
Delyan Angelov
1fcac4098b
tests: use a serial task runner for -skip-unused too 2021-02-06 10:08:59 +02:00
Delyan Angelov
167773dd1c
checker: make -skip-unused process a list of root functions, not just main.main 2021-02-06 09:41:24 +02:00
Larpon
e83c39c81a
builtin: document rest of map.v (#8578) 2021-02-06 03:07:42 +01:00
Uwe Krüger
ab279dace7
cgen: support shared initialization from call returning optional (#8593) 2021-02-06 03:07:05 +01:00
yuyi
1b6efebac7
all: fix map = map2 assignment (#8581) 2021-02-06 03:06:34 +01:00
Larpon
57258c2988
builtin: document remaining pub structs in builtin.v (#8576) 2021-02-05 21:02:29 +01:00
Larpon
1101533dea
crypto: document rest of rand submodule (#8580) 2021-02-05 20:26:34 +02:00
Subhomoy Haldar
9a1da1a97b
rand: move the shuffle function from arrays to rand.util (#8587) 2021-02-05 20:24:38 +02:00
Delyan Angelov
ed6fc79fbe
ci: run the -skip-unused tests on linux (so local testing is easier) 2021-02-05 20:03:24 +02:00
Delyan Angelov
99822e51de
ci: force println_os_executable.vv to have a stable output on all OSes 2021-02-05 20:01:02 +02:00
Larpon
e1052a5ec7
semver: document all pub functions (#8586) 2021-02-05 19:57:42 +02:00
Lukas Neubert
58b3a30b47
docs/readmes: format almost all remaining code blocks (#8590) 2021-02-05 19:50:28 +02:00
Delyan Angelov
9a7ecf2807
ci: limit the -skip-unused testing to the ubuntu CI jobs for now 2021-02-05 18:41:46 +02:00
Delyan Angelov
a6ecc19040
ci: fix -skip-unused compiler test on windows, using -d no_backtrace 2021-02-05 18:36:57 +02:00
zakuro
6b776e686e
parser: display correct position on boolean expression error (#8563) 2021-02-05 16:52:35 +01:00
Larpon
44ab0154b2
builtin: document last of array.v (#8575) 2021-02-05 16:51:45 +01:00
zakuro
a94228bb16
checker: make [] == ArrayAlias([]) an error (#8562) 2021-02-05 16:49:40 +01:00
Larpon
e78c30d181
clipboard: add android variant (#8585) 2021-02-05 16:49:04 +01:00
Lukas Neubert
9ab1d17cbc
fmt: keep __global in struct declarations (#8584) 2021-02-05 16:46:43 +01:00
Delyan Angelov
81789ee106
tests: add vlib/v/tests/skip_unused/ 2021-02-05 17:27:00 +02:00
Delyan Angelov
867d96a077
checker: use @METHOD for util.timing_start in Checker.mark_used/1 2021-02-05 16:41:55 +02:00
Delyan Angelov
16dffc7c1d
compiler: move timing_start/timing_measure to util.timing_start/util.timing_measure 2021-02-05 16:34:56 +02:00
Delyan Angelov
25a3873019
parser,checker: support @METHOD, replaced by 'ReceiverType.MethodName' 2021-02-05 16:32:43 +02:00
Delyan Angelov
d30f94507c
checker: enable -skip-unused for more examples 2021-02-05 11:55:40 +02:00
Delyan Angelov
8f160ee3ed
ci: run vfmt over vlib/v/gen/c/fn.v 2021-02-05 11:18:29 +02:00
Delyan Angelov
40fff7b56a
v.pref: support v -skip-unused run examples/hello_world.v 2021-02-05 11:12:28 +02:00
Delyan Angelov
80697ec7f3
table: .is_used => .usages (a counter, instead of a boolean flag) 2021-02-05 10:03:17 +02:00
Delyan Angelov
e5c9fcb7e9
ci: fix building vdoc, vls, etc 2021-02-05 09:27:14 +02:00
Alexander Medvednikov
5a183d23a9 cgen: disable the new [if xxx] logic for now 2021-02-05 08:16:16 +01:00
Alexander Medvednikov
1084b43ffb all: ast walker for marking unused fns 2021-02-05 08:05:35 +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
Alexander Medvednikov
97e36cd97a parser: fix method name test 2021-02-04 22:25:58 +01:00
Alexander Medvednikov
fdd8c86fdb parser: make sure methods have names 2021-02-04 22:15:16 +01:00
Ekopalypse
5eef730290
builder: make msvc build if v path contains spaces (#8552) 2021-02-04 20:45:59 +01:00
Delyan Angelov
48892a52fa
strings: make valgrind reports for strings builders more usefull (#8553) 2021-02-04 20:45:35 +01:00
Louis Schmieder
97c0ef3505
orm: struct field support (#8517) 2021-02-04 20:28:33 +01:00
Ekopalypse
856246c858
builder: make repl work if path contains spaces (#8550) 2021-02-04 18:18:18 +01:00
Lathanao
a0cbe48977
vweb: fix @include (#8535) 2021-02-04 17:07:04 +01:00
yuyi
abde1cd73d
cgen: fix array/map of alias to string (#8549) 2021-02-04 17:52:14 +02:00
Subhomoy Haldar
c6552d7780
rand.util: add sample_r and sample_nr (#8539) 2021-02-04 14:56:53 +02:00
yuyi
a976876211
v.token: correct some comments, and add some missing comments (#8542) 2021-02-04 09:18:38 +02:00
BigBlack
162c42dbe9
ast: fix new_struct := MyStruct{...(*old_struct)} (#8544) 2021-02-04 09:14:43 +02:00
pancake
27239db427
builder: show file:line when import fails (#8537) 2021-02-04 09:09:54 +02:00
Uwe Krüger
112c652ace
cgen: auto initialize chan that are struct elements (#8541) 2021-02-04 00:07:20 +01:00
Uwe Krüger
f013e65670
checker/cgen: support lock expressions x := rlock s { s.get() } (#8540) 2021-02-03 23:56:58 +01:00
Uwe Krüger
cee00a3551
cgen: create enclosing block on C side for V lock blocks (#8538) 2021-02-03 23:25:01 +01:00
Uwe Krüger
2424e2cb02
cgen: fix for rlock/lock handling (#8536) 2021-02-03 17:33:18 +01:00
Nick Treleaven
de37b52d4b
checker: check goto label exists (#8523) 2021-02-03 15:20:10 +01:00
Nick Treleaven
82482167ce
vlib: replace all goto statements with labelled break (#8531) 2021-02-03 15:19:42 +01:00
Swastik Baranwal
7ec116d588
all: only allow defining == and < and auto generate !=, >, >= and <= (#8520) 2021-02-03 15:18:38 +01:00
Uwe Krüger
9dcf673216
all: make lock and rlock dead lock free :-) (#8534) 2021-02-03 15:16:52 +01:00
Delyan Angelov
f4b757e47d
examples: add examples/vweb/server_sent_events; implement vweb.sse 2021-02-03 16:03:06 +02:00
Ruofan XU
a73c20916d
checker: refactor and clean up c.check_basic() (#8508) 2021-02-03 11:57:06 +02:00
zakuro
4b99d6af95
cgen: fix bug with duplicate defer generation (#8503) 2021-02-03 11:40:21 +02:00
yuyi
b40252bd97
checker: merge array_filter_fn_err tests (#8506) 2021-02-03 11:27:11 +02:00
yuyi
9bcb57eb1f
checker: merge array_map_fn_err tests (#8507) 2021-02-03 11:26:26 +02:00
Lukas Neubert
ea06966fd4
fmt: hide ´[]Type{} instead of []Type´ and ´(f mut Foo)´ warnings (#8528) 2021-02-03 11:25:08 +02:00
zakuro
e30e794884
checker: add check for using a private const in another module (#8501) 2021-02-03 10:17:13 +02:00
Uwe Krüger
df0520b43a
checker,cgen: make shared behave like mut inside lock - and like non-mut inside rlock (#8526) 2021-02-03 01:20:19 +02:00
yuyi
91af2418de
ftp: minor optimization in dir() (#8518) 2021-02-02 18:51:55 +01:00
yuyi
7875164d91
cgen: add gen_alias_equlity_fn (#8514) 2021-02-02 18:37:57 +01:00
Delyan Angelov
02bef1ae2b
vdoc: fix segfault on v doc -m -f html vlib 2021-02-02 17:38:32 +02:00
joe-conigliaro
ffedbe4b81
cgen: move cgen from v.gen to v.gen.c (#8515) 2021-02-02 15:41:51 +01:00
Daniel Däschle
d477e525bb
checker/gen: fix generic struct init (#8322) 2021-02-03 00:42:00 +11:00
Lukas Neubert
58b37519e0
scanner: fix warning for \" after string interpolation (#8510) 2021-02-02 14:14:06 +02:00
Uwe Krüger
1de299ad22
cgen: allow shared initialization from return values of functions (#8512) 2021-02-02 14:13:13 +02:00
Delyan Angelov
17062dc5c8
v.pref: support -obf in addition to -obfuscate, as described in v help build 2021-02-02 12:24:34 +02:00
Lukas Neubert
5aaeac79fa
ci: fix compilation (#8511) 2021-02-02 12:06:54 +02:00
Delyan Angelov
d57a9c419d
examples: add net_udp_server_and_client.v 2021-02-02 10:36:56 +02:00
Alexander Medvednikov
2c4674eb42 cgen: obfuscate functions 2021-02-02 09:14:41 +01:00
yuyi
5ec6f7a781
ftp: fix error in dir() (#8504) 2021-02-02 08:22:52 +01:00
yuyi
9a2820fa7b
checker: fix pass fixed array of function as argument (#8502) 2021-02-02 03:58:54 +01:00
Ruofan XU
a0a33f7ff1
checker: fix map of function as argument and direct call of function in map (#8494) 2021-02-02 03:58:32 +01:00
Louis Schmieder
969f19daf4
orm: fix null strings (#8497) 2021-02-01 21:44:09 +01:00
Ruofan XU
51f2eb81f4
checker/cgen: fix mut array of fn as argument (#8469) 2021-02-01 20:10:24 +01:00
Lukas Neubert
cf1084105c
fmt: allow single line ternary if as function argument (#8486) 2021-02-01 20:08:42 +01:00
Nick Treleaven
79e9084f7b
checker: allow Struct{...expr} where expr is another struct type (#8495) 2021-02-01 20:08:25 +01:00
Uwe Krüger
17746561f2
cgen: put shared arrays and maps always on heap (#8496) 2021-02-01 20:07:01 +01:00
yuyi
4d268d1436
cgen: minor cleanup of gen_fn_decl (#8474) 2021-02-01 20:06:34 +01:00
Delyan Angelov
fab7b9d9d9
checker: fix x := match enumexpr { .case2 { fn1 } .case2 { fn2} }, where fn1 and fn2 have compatible signature 2021-02-01 21:01:58 +02:00
BigBlack
e3c2604338
cgen: fixed array slice in function, add docs (#8481) 2021-02-01 19:11:17 +02:00
Lucas Hernán Tarche
7813ecbb75
gg: add draw_convex_poly/2 and draw_empty_poly/2 methods (#8487) 2021-02-01 18:18:23 +02:00
yuyi
1e07173234
cgen: minor cleanup of array_init (#8477) 2021-02-01 15:56:55 +01:00
Nick Treleaven
c537578481
checker: ensure expr is an lvalue with Struct{...expr (#8489) 2021-02-01 15:18:03 +01:00
Lukas Neubert
d660f2cc6f
fmt: insert newline after last HashStmt (#8482) 2021-02-01 14:50:41 +01:00
yuyi
53a5aad855
cgen: fix fixed array of function (#8490) 2021-02-01 14:50:10 +01:00
Lukas Neubert
8755f40430
fmt: keep comments after imports (#8483) 2021-02-01 14:45:08 +01:00
Uwe Krüger
44ec9e3ebc
checker/cgen: put shared struct always on heap (#8492) 2021-02-01 14:39:36 +01:00
Delyan Angelov
5b9a7bf6b3
cgen: support #flag -DWIN32_FULL, when you do NOT want WIN32_FULL 2021-02-01 14:40:51 +02:00
Lukas Neubert
43676330ba
fmt: keep braces around @ escaped fields in string interpolation (#8488) 2021-02-01 11:04:57 +02:00
Enzo
778b83a132
gen: fix multiple blank param with interface (#8480) 2021-01-31 19:44:55 +02:00
spaceface
effa3188dd
cgen: fix type casts to interfaces (#8476) 2021-01-31 19:24:33 +02:00
Larpon
d25825df57
all: support compile time $env('ENV_VAR') (#8456) 2021-01-31 19:22:42 +02:00
Enzo
2945040a67
gen: fix function with multiple blank params (#8475) 2021-01-31 16:37:26 +02:00
Nick Treleaven
f992099726
checker: check s.$method(arg) argument is []string (#8455) 2021-01-31 15:28:23 +01:00
Alexander Medvednikov
9638013203 gg: fix macos C function definitions 2021-01-31 13:57:06 +01:00
Ruofan XU
ae60ea4ed5
tests: add regression tests for typeof map and array of fns (#8458) 2021-01-31 12:20:15 +02:00
Seven Du
09c65163b4
cgen: add a destructor caller for the generated _vcleanup, when using -shared (#8464) 2021-01-31 12:10:49 +02:00
Delyan Angelov
5746ac4dd4
vfmt: remove tracing println for match branches 2021-01-31 11:05:49 +02:00
Delyan Angelov
978359a6fc
tests: fix some warnings in preparation for -W test-self 2021-01-31 11:05:17 +02:00
Delyan Angelov
e066e83041
stbi: add proper declarations for C.stbi_load etc. 2021-01-31 10:23:43 +02:00
yuyi
2963425995
cgen: fix fn_with_mut_args (fix #7139) (#8446) 2021-01-31 02:45:45 +01:00
Nick Treleaven
9c2bd24b4f
tests: add test for s.$method() with T.methods (#8451) 2021-01-30 18:35:41 +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
Nick Treleaven
849bc6c3d8
tests: fix weird CI failure with error details (#8449) 2021-01-30 18:53:39 +02:00
Uwe Krüger
9c82eec529
checker: support nested propagation cases f(g() ?) (#8447) 2021-01-30 16:53:31 +01:00
Nick Treleaven
43c3a3b080
checker: fix compile-time call with string identifier expression (#8415) 2021-01-30 15:24:16 +01:00
Uwe Krüger
058f3ba013
sync: rename m_lock() -> @lock(), r_lock() -> @rlock(), ... (#8443) 2021-01-30 15:23:55 +01:00
Subhomoy Haldar
7e3b3a9efc
rand: update byte() (#8442) 2021-01-30 14:19:14 +01:00
div72
8c70920695
all: add offsetof (#8380) 2021-01-30 12:57:09 +01:00
Nick Treleaven
c0685eeefc
parser: add warning for s.$field.name without brackets (#8411) 2021-01-30 12:56:10 +01:00
yuyi
97cb7687a2
cgen: minor cleanup of consts (#8441) 2021-01-30 13:35:25 +02:00
Enzo
ced7649bf8
gen: fix for ... in array (#8428) 2021-01-30 12:27:11 +01:00
Lukas Neubert
a044441224
fmt: keep {} in string interpolation for chained CallExprs (#8422) 2021-01-30 11:58:19 +01:00
Lukas Neubert
2774db077d
fmt: keep user choice for newlines in match branches (#8418) 2021-01-30 11:57:57 +01:00
yuyi
77b3d40f46
checker: fix map = {} (#8435) 2021-01-30 11:55:10 +01:00
Uwe Krüger
5e9b528a9d
checker/cgen: support return from nested or (#8430) 2021-01-30 12:46:36 +02:00
yuyi
5af16f38fc
cgen: correct minor typo (#8438) 2021-01-30 12:39:44 +02:00
Julia Bogdan Filipchuk
d26ac0f6cb
vfmt: add ability to use vfmt as a filter from stdin to stdout (#8432) 2021-01-30 12:38:54 +02:00
Delyan Angelov
7f5d654c3a
all: cleanup redundant .ends_with(_test.v) calls 2021-01-30 11:08:52 +02:00
Uwe Krüger
6477748e88
sync/waitgroup: use value mutex and semaphore; remove sync.Waiter (#8431) 2021-01-30 11:08:43 +02:00
zakuro
391d62bca5
fmt: remove duplicated imports (#8433) 2021-01-30 11:04:36 +02:00
Delyan Angelov
760b4c37b9
all: support _test.vv files (to test _test.v errors/checks too) 2021-01-30 10:42:18 +02:00
Delyan Angelov
5564a2c1da
tests: fix filter_in_map_test.v (it did not have a test_ function in it) 2021-01-30 10:29:48 +02:00
Delyan Angelov
948f63b507
checker,builder: rename details: to Details: 2021-01-30 10:20:09 +02:00
Delyan Angelov
30e0c478d7
checker: add error for _test.v file without test_ functions 2021-01-30 10:19:29 +02:00
Lukas Neubert
974cac2037
fmt: relocate two methods; minor cleanup (#8423) 2021-01-29 23:15:26 +02:00
Swastik Baranwal
e03ece2a4b
checker: check the fn decl for anon fns too (#7529) 2021-01-29 23:11:05 +02:00
Uwe Krüger
4a955d9c54
sync: don't force Mutex and Semaphore to be reference (#8331) 2021-01-29 20:52:14 +02:00
Lukas Neubert
93acc929f7
fmt: keep lines of comments inside an array (#8420) 2021-01-29 20:19:14 +02:00
zakuro
2a32dac40d
checker: fix panic when calling generic function with too few args (#8416) 2021-01-29 20:14:22 +02:00
Delyan Angelov
8398e2f448
ci: fix -usecache for programs using thirdparty C libs 2021-01-29 19:44:33 +02:00
Delyan Angelov
9f31829e0c ci: fix failing clipboard_test.v on macos 2021-01-29 18:59:44 +02:00
Delyan Angelov
2326a3a1e1
builder: small cleanup, use .dump_c_options in Builder.cc_linux_cross/0 too 2021-01-29 18:30:40 +02:00
Delyan Angelov
4d180171ba
builder: implement -dump-c-flags flags.txt 2021-01-29 18:05:14 +02:00
Delyan Angelov
49b01549da
v.vcache: improve tracing of vcache usage 2021-01-29 18:05:13 +02:00
yuyi
26c06a56b7
checker: fix array_insert_or_prepend_short_struct_init (#8397) 2021-01-29 14:53:14 +01:00
yuyi
56c4a36cd4
cgen: fix match_in_if_expression (#8407) 2021-01-29 14:51:17 +01:00
Swastik Baranwal
c4758c21c6
cgen: println(none) => <none> (#8404) 2021-01-29 14:50:48 +01:00
Louis Schmieder
4a6642b79e
vweb: fix vweb upload (#8392) 2021-01-29 14:48:52 +01:00
zakuro
f5242890b8
fmt: keep multiline selective import (#8412) 2021-01-29 14:48:28 +01:00
yuyi
ddcbc4440b
cgen: fix array_sort_by_references (fix #8390) (#8403) 2021-01-29 12:20:28 +02:00
Lukas Neubert
e47c13903b
fmt: keep newlines between toplevel stmts (#8383) 2021-01-29 12:17:59 +02:00
Larpon
85c5df23cf
gg: add window_size() function (#8409) 2021-01-29 12:11:03 +02:00
Subhomoy Haldar
c5a18812e2
rand: move constants from rand.util to a new module rand.constants (#8408) 2021-01-29 11:57:30 +02:00
Nick Treleaven
d012f2713b
checker: improve errors with compile-time field access (#8373) 2021-01-29 00:45:00 +01:00
spaceface
4aee997689
checker: make implementing an interface with another interface an error (#8398) 2021-01-29 00:41:59 +01:00
Uwe Krüger
adb646a1d2
sync: update benchmark results for Windows (#8399) 2021-01-29 00:41:46 +01:00
Alexander Medvednikov
608a4ccccd fmt: fix a bug with an empty module in consts 2021-01-29 00:26:57 +01:00
yuyi
1be7cc14d3
checker: check duplicate of a const name (#8396) 2021-01-28 18:34:55 +01:00
yuyi
684d2e6dbf
checker: merge ambiguous_function_call tests (#8388) 2021-01-28 15:53:54 +02: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
Delyan Angelov
079fbffaf5
scanner: implement s.trace/2 2021-01-28 15:21:19 +02:00
Uwe Krüger
0afe36e153
checker: fix receiver pos for single letter type error message (#8393) 2021-01-28 15:20:07 +02:00
Delyan Angelov
1a29719f16 fontstash: fix snek on big sur, with -d use_truetype 2021-01-28 12:26:48 +02:00
Lukas Neubert
75d85403a6
fmt: better ternary concat wrapping (#8379) 2021-01-28 11:23:48 +01:00
Alexander Medvednikov
d86cb67eda checker: add a test for the single letter receiver 2021-01-28 11:13:51 +01:00
Alexander Medvednikov
68dab101d9 checker: fix one letter receiver panic 2021-01-28 11:05:37 +01:00
Alexander Medvednikov
36e75e5208 Revert "parser: fix panic when single letter receiver parsed (#8381)"
This reverts commit 93b0d8ca64.
2021-01-28 10:59:04 +01:00
Daniel Däschle
93b0d8ca64
parser: fix panic when single letter receiver parsed (#8381) 2021-01-28 10:56:43 +01:00
Tim Basel
5fc7eadd8b
cgen: fix short struct init with mut (#8384) 2021-01-28 10:05:09 +02:00
Subhomoy Haldar
5a1f3cd394
math.fractions: fix minor typo (#8386) 2021-01-28 10:02:41 +02:00
Delyan Angelov
dceb63b9df
cgen: fix implicit the optional return value to have .ok = true, in anon fn()?{} 2021-01-28 02:26:02 +02:00
Delyan Angelov
242d7d0fc0
tools: improve error diagnostic for v up and v self. Make v self more robust. 2021-01-27 23:58:13 +02:00
zakuro
8162396783
checker: deny multi-value in a singe-value context (#8328) 2021-01-27 23:10:51 +02:00
shadowninja55
f4baa3f39c
gg: add draw_square, draw_empty_square, and set_pixel (#8375) 2021-01-27 22:39:11 +02:00
shadowninja55
fccd4f98d5
fixed offset (#8376) 2021-01-27 19:39:53 +02:00
yuyi
d1ab22d45f
checker: fix array append short struct init (#8362) 2021-01-27 13:55:53 +01:00
Enzo
2b30c48770
checker: fix ctdefine check in non-main modules (#8332) 2021-01-27 13:54:33 +01:00
StunxFS
cb885d30b4
scanner: fix typo (#8345) 2021-01-27 13:53:41 +01:00
Swastik Baranwal
17921f4171
checker: add checks for optional selector_expr (#8330) 2021-01-27 13:53:20 +01:00
Nick Treleaven
58a76344cb
checker: avoid SelectorExpr filter on Ident unless it's a generic type name (#8357) 2021-01-27 13:52:52 +01:00
spaceface
e233911a7b
term.ui: native Windows console implementation (#8359) 2021-01-27 13:52:39 +01:00
Lukas Neubert
2ada7b730e
sqlite: create_table(): rename rows param to columns (#8361) 2021-01-27 13:52:27 +01:00
yuyi
7a5722c885
parser: check assign_stmt of undefined variable (#8366) 2021-01-27 13:52:10 +01:00
Delyan Angelov
2d86c50d49
ci: fix autobahn integration tests job 2021-01-26 20:12:12 +02:00
Delyan Angelov
dd96852515
ci: fix compilation of term.ui examples on windows 2021-01-26 19:26:05 +02:00
Delyan Angelov
4e2b908f21
ci: fix os compilation on windows 2021-01-26 17:41:27 +02:00
Delyan Angelov
e5a84719ca
all: require calling optfn() ? / optfn() or {...} for fn optfn() ? {} 2021-01-26 16:43:17 +02:00
Subhomoy Haldar
97103f680a
rand: separate rand.util and rand.seed submodules (#8353) 2021-01-26 15:55:09 +02:00
spaceface
5f2b2df546
checker: don't disallow defining methods on interfaces (#8335) 2021-01-26 11:56:17 +01:00
zakuro
3959ba5751
checker: make a calling no-body function a checker error (#8265) 2021-01-26 11:19:48 +01:00
Lukas Neubert
2007dbc7b5
fmt: put the opening brace on a new line again for infix (#8336) 2021-01-26 11:19:32 +01:00
Lukas Neubert
3790bd67e3
fmt: minor cleanup of sql_expr (#8340) 2021-01-26 10:36:46 +01:00
zakuro
22847d1ec3
fmt: assert (a == b) -> assert a == b (#8351) 2021-01-26 10:36:21 +01:00
Daniel Däschle
7bb9c0e7b3
checker: fix multi generic args (#8347) 2021-01-26 09:37:48 +02:00
Major Taylor
69c37402d4
backtrace: fix tcc backtrace windows compilation error (#8348) 2021-01-26 08:26:54 +02:00
Lukas Neubert
c6f98afaba
fmt: minor cleanup of return_stmt (#8341) 2021-01-25 23:22:14 +01: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
Delyan Angelov
ea11488339
tests: make test more tolerant to windows low precision timer default interval 2021-01-25 20:04:29 +02:00
Delyan Angelov
e0ed224a8d
Revert "net: prevent udp_test.v from running on windows without -d network"
This reverts commit 3526bc3d19.
2021-01-25 19:08:45 +02:00
Delyan Angelov
3526bc3d19
net: prevent udp_test.v from running on windows without -d network 2021-01-25 19:02:19 +02:00
spaceface
daff085033
checker: fix treating C structs with capitalized fields as embeds (#8343) 2021-01-25 18:47:14 +02:00
Delyan Angelov
cb04e6dccc
tests: move is_nodejs_working() to jsgen_test.v 2021-01-25 18:46:28 +02:00
yuyi
3199b982a9
cgen: minor cleanup of comp_for in comptime.v (#8337) 2021-01-25 17:08:48 +01:00
Daniel Däschle
006a11454f
cgen: fix generic type $else $if (#8339) 2021-01-25 17:08:02 +01:00
Swastik Baranwal
21ba0470af
builtin: fix truncating of EOL on windows terminal (#8338) 2021-01-25 17:51:36 +02:00
Delyan Angelov
a5b10b5539
parser: improve the error message for unexpected keywords 2021-01-25 15:29:07 +02:00
yuyi
444d49da75
cgen: minor cleanup of gen_assert_stmt (#8334) 2021-01-25 15:28:34 +02:00
Nick Treleaven
02d8ede94d
cgen: fix $if T !is (#8311) 2021-01-25 14:25:52 +01:00
Lukas Neubert
b2f2f387dc
fmt: cleanup and expand tests for ternary if (#8333) 2021-01-25 14:22:08 +01:00
yuyi
1c9950c84a
cgen: fix map_complex_high_order_fixed_array (#8329) 2021-01-25 14:40:53 +02:00
Delyan Angelov
965ae9cb91
ci: fix formatting in .md files too 2021-01-25 13:20:18 +02:00
Delyan Angelov
728344ff65
ci: fix v test-cleancode 2021-01-25 12:55:01 +02:00
Delyan Angelov
94fd3ff431
checker: remove the 'in module main cannot be declared public' error/warning 2021-01-25 12:55:00 +02:00
Delyan Angelov
d3d301d8ff
gen: use externally_visible too for VV_EXPORTED_SYMBOL when ARM is defined 2021-01-25 12:40:28 +02:00
Adelar da Silva Queiróz
334554ffb9
strconv: fix typo (#8318) 2021-01-24 23:18:40 +01:00
yuyi
d3327ba50f
cgen: fix for_mut_val_in_map_fixed_array (#8314) 2021-01-24 23:18:11 +01:00
Alexander Medvednikov
3dae3f786d gg: Context.resize() 2021-01-24 22:27:27 +01:00
spaceface
4be45e8d02
checker: add mutability checks for interface fields; add tests (#8312) 2021-01-24 22:11:17 +01:00
Uwe Krüger
815104e5d0
parser: parse -1 and -13.3 as number literals (#8321) 2021-01-24 22:09:51 +01:00
Lukas Neubert
997f56a3dc
fmt: better newline handling in block comments (#8325) 2021-01-24 22:08:24 +01:00
Daniel Däschle
750738aa12
cgen: fix optional sum types (#8319) 2021-01-24 20:56:44 +01:00
Emily Hudson
2e695a8e8f
cgen: free temporary channel arrays (#8324) 2021-01-24 20:02:17 +01:00
Alexander Medvednikov
29d6e40f29 all: vfmt (new const rule) 2021-01-24 10:54:27 +01:00
Alexander Medvednikov
12ff1c2702 doc: document the new const rule 2021-01-24 10:23:52 +01:00
Alexander Medvednikov
80e6b090ea checker: remove an obsolete const test 2021-01-24 10:17:36 +01:00
Alexander Medvednikov
2238bf9a83 fmt: use new const rule in tests 2021-01-24 10:12:49 +01:00
Alexander Medvednikov
8bcb6c10cc checker: remove duplicate const error; fmt: force full path to consts 2021-01-24 10:01:13 +01:00
fnetX (aka fralix)
69e6ba7a64
math: small typo in math.fractions (#8298) 2021-01-24 09:37:00 +01:00
Lukas Neubert
522eac200f
fmt: keep arr << if x {} else {} on a single line (#8289) 2021-01-24 08:02:35 +01:00
Uwe Krüger
79b4b0e6c8
parser: assure explicit map init contains no parameters (#8299) 2021-01-24 01:06:43 +02:00
Adelar da Silva Queiróz
1f99d1e025
strconv: some corrections of typos (#8302) 2021-01-24 00:00:31 +02:00
Uwe Krüger
1ea5cedd03
parser/cgen: fix explicit array/map shared/reference initializers (#8307) 2021-01-23 23:54:57 +02:00
Daniel Däschle
35432c5e92
gen: fix generic multi return (#8303) 2021-01-23 23:41:32 +02:00
Swastik Baranwal
8a59ffb4b7
cgen: allow == to be user defined if != is auto generated and vice versa (#8286) 2021-01-23 16:59:39 +01:00
Tomas Hellström
39e5f6e9df
x.websocket: websocket server fix and bring back server autobahn (#8291) 2021-01-23 16:56:38 +01:00
Delyan Angelov
4065a0327a
gen: fix autogeneration of .str() methods for sumtypes that have child types with custom .str() methods 2021-01-23 17:22:19 +02:00
Uwe Krüger
74115fe70a
parser: auto-import sync when shared objects are used (#8294) 2021-01-23 16:03:21 +01:00
Larpon
bce6a35e8f
crypto: add missing documentation to all pub functions (#8251) 2021-01-23 13:33:49 +01:00
Uwe Krüger
38880b23eb
checker: allow a[i] for shared arrays outside unsafe (#8292) 2021-01-23 13:33:32 +01:00
yuyi
b8857baa98
parser: fix map_init position (#8293) 2021-01-23 13:33:19 +01:00
R cqls
749d6133a1
v.pkgconfig: handle paths to local .pc files too (needed for homebrew) (#8290) 2021-01-23 13:09:53 +02:00
Alexander Medvednikov
ba2a15c9d7 parser: fix const check 2021-01-23 10:46:00 +01:00
yuyi
5ee3fecf60
checker: check for mut val in immutable obj (#8285) 2021-01-23 10:40:17 +01:00
Delyan Angelov
d4f6f5eec4
sokol,fontstash: move f_d_use_freetype.v to vlib/fontstash/a_d_use_freetype.v 2021-01-23 11:39:17 +02:00
Alexander Medvednikov
c21f57ff59 os: vfmt os.v 2021-01-23 10:33:53 +01:00
Alexander Medvednikov
45cc3ec664 sokol: remove an absolute import 2021-01-23 10:32:00 +01:00
Alexander Medvednikov
d991712b3c gg: native rendering mode on macOS 2021-01-23 10:25:43 +01:00
Delyan Angelov
a3908414e4
pref: fix handling of _d_custom.v files, use it in vlib/sokol/f/f_d_use_freetype.v 2021-01-23 11:21:56 +02:00
Lukas Neubert
8b61891348
fmt: smarter if condition wrapping (#8201) 2021-01-23 10:33:22 +02:00
zakuro
9812230847
checker: make the no-body main function a checker error (#8211) 2021-01-23 10:30:26 +02:00
Daniel Däschle
c5c7addb88
checker: improve infer generic (#8281) 2021-01-23 10:19:08 +02:00
spaceface
c2d501e8a9
all: implement interface fields (#8259) 2021-01-23 08:57:17 +02:00
Louis Schmieder
e06e8b10cd
orm: fix empty struct and simplify (#8246) 2021-01-22 23:28:26 +01:00
Daniel Däschle
dbf84520f1
all: update assoc syntax (#8274) 2021-01-22 23:24:48 +01:00
Tomas Hellström
970c03987d
ci: temporarily comment the server tests for autobahn (#8272) 2021-01-22 22:30:53 +02:00
Larpon
981b42125f
encoding: document all of the encoding.base64 module (#8276) 2021-01-22 22:29:05 +02:00