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