Delyan Angelov
7b1944c2da
gg: simplify the image_cache
2020-08-05 08:46:20 +03:00
Delyan Angelov
221a777a80
gg: cache sokol C.sg_image handles
2020-08-05 08:09:25 +03:00
Delyan Angelov
ab7936f514
os.exec: on unix return error, when the command was not found, instead of os.Result
2020-08-05 07:11:51 +03:00
Maciej Michalec
449c98e861
scanner: floats without fraction ( fix #5262 ) ( #6064 )
2020-08-05 05:11:29 +02:00
Alexander Medvednikov
f3ebd3a6e7
gg: fix image rendering
2020-08-05 03:15:40 +02:00
Enzo
f238890fe9
compiler: move attributes to declarations ( #6026 )
2020-08-04 20:10:22 +02:00
Nick Treleaven
3ce6dd6cbc
hash: use match expression with ranges ( #6046 )
2020-08-04 20:09:58 +02:00
Delyan Angelov
3dfe242dbb
vfmt: add a regression test for `type SocketMessageFn = fn (mut c Client, msg &Message) ?
2020-08-04 16:13:04 +03:00
Delyan Angelov
cd9bb51af2
vfmt: fix 6040 (part 2)
2020-08-04 16:08:47 +03:00
Delyan Angelov
f9d241ae27
gg,stbi: implement gg.create_image_from_memory/2
2020-08-04 13:18:08 +03:00
Delyan Angelov
216b6bf285
gg: remove tracing println in draw_image
2020-08-04 12:57:54 +03:00
Delyan Angelov
9ce75e10d5
gg: free gg.create_image from having to be called by sokols init_fn callback
2020-08-04 12:37:28 +03:00
Swastik Baranwal
f3817c47f9
token: remove switch keyword ( #6056 )
2020-08-04 11:04:07 +02:00
Delyan Angelov
f7a0d0a02f
ci: fix -autofree compilation of vlib/v/tests/valgrind/strings_and_arrays.vv
2020-08-04 11:30:02 +03:00
Alexander Medvednikov
60c642f42d
gg: clean up draw_image()
2020-08-04 01:26:56 +02:00
Alexander Medvednikov
7a7572e478
autofree: free temp string exprs
2020-08-04 01:26:34 +02:00
Nick Treleaven
c33dbbc216
fmt: don't add newlines for UnsafeExpr ( #6048 )
2020-08-04 00:29:10 +02:00
Delyan Angelov
e291c38119
ast: add use case comment for MatchExpr.var_name
2020-08-03 22:10:59 +03:00
Swastik Baranwal
c547e8b191
v/fmt: fix formatting of `type Foo = fn (a int)?` ( #6047 )
2020-08-03 19:28:48 +03:00
dils2k
8dede3b535
builder: add a verror, when the output folder is not existing and writable ( #5966 )
2020-08-03 18:19:36 +03:00
Nick Treleaven
3e4df7f140
v/fmt: fix dropping `as ident` from `if sum is T` statement ( #6049 )
2020-08-03 18:16:06 +03:00
Carlos Esquerdo Bernat
66b3fabeef
log: avoid the deprecated .is_opened() method ( #6039 )
2020-08-03 02:35:08 +03:00
Delyan Angelov
0ac30a8d9c
gg: enable image transparency in gg.draw_image2 too
2020-08-03 00:30:08 +03:00
Delyan Angelov
a7ca1682c4
gg: fix gg.draw_image2 (image drawn, but without transparency for now)
2020-08-02 23:47:37 +03:00
Delyan Angelov
0b6b0aca09
parser: fix infinite loop on unexpected $ between statements
2020-08-02 18:17:38 +03:00
Alexander Medvednikov
79b70006e6
examples: simplify gg/rectangles.v
2020-08-02 17:01:10 +02:00
Delyan Angelov
c6ae322f85
parser: add hard limit to the number of statements in a fn
2020-08-02 17:58:05 +03:00
Nick Treleaven
8dcc3cda97
os.cp: fix returning false error on Windows ( #6037 )
2020-08-02 14:08:45 +03:00
Nick Treleaven
7f447bb82f
ast: use Block instead of UnsafeStmt ( #5981 )
2020-08-02 14:06:44 +03:00
Alexander Medvednikov
cc57b52773
gg: fix typo
2020-08-01 23:52:15 +02:00
Alexander Medvednikov
149de958f3
gg: fix compilation
2020-08-01 23:45:36 +02:00
Alexander Medvednikov
a1593e7db8
checker: 1 line v fmt fix
2020-08-01 23:41:32 +02:00
Alexander Medvednikov
fb4550e582
gg: new create_image() (part 1)
2020-08-01 23:40:28 +02:00
Swastik Baranwal
d56d622a43
checker: add checks for byte casting ( #5917 )
2020-08-01 23:17:00 +02:00
Carlos Esquerdo Bernat
d71c11577a
os: move file logic to file.v ( #6013 )
2020-08-01 23:07:37 +02:00
Duarte Roso
055117dc5f
builtin: make byte.hex() two digits format ( #5886 )
2020-08-01 23:06:08 +02:00
spaceface777
4f37202b72
checker: allow struct fields starting with capitals in builtin ( #5998 )
2020-08-01 23:01:40 +02:00
spaceface777
1feca22e28
jsgen: don't generate `JS.` struct decls ( #6035 )
2020-08-01 22:27:25 +02:00
Alexander Medvednikov
adafd24819
gen: auto_str_methods.v
2020-08-01 16:36:12 +02:00
Delyan Angelov
0fb8074353
cgen: add support for `$if gcc {}` too
2020-07-31 21:25:37 +03:00
joe-conigliaro
1ea511b530
builder/cgen: get -usecache working for self cimpilation
2020-07-31 20:10:19 +10:00
Nick Treleaven
eb47ce1e83
ast: fix ParExpr.str(), RangeExpr.str(), SizeOf.str() ( #6023 )
2020-07-31 02:31:01 +02:00
Louis Schmieder
1fd499ed4a
vweb: fix request checking ( #6027 )
2020-07-31 01:26:56 +02:00
Delyan Angelov
91c9c0c917
checker: fix unknown_method_suggest_name.out test result too
2020-07-30 19:37:36 +03:00
Delyan Angelov
65891f54ed
v.util.suggestions: fix hash.crc32.Crc32 case
2020-07-30 19:35:16 +03:00
Delyan Angelov
f300f787f3
checker: add suggestions for method mispellings and unknown types
2020-07-30 18:48:16 +03:00
Delyan Angelov
2c45e601ef
builder: increase backtrace size with tcc to 25 frames
2020-07-30 16:56:58 +03:00
Delyan Angelov
3883c34b8c
vfmt: fix eating of `n` in `string(x,n)`
2020-07-30 12:15:04 +03:00
Lukas Neubert
f2c639c869
builtin: add string.contains_any() ( #5963 )
2020-07-29 21:48:50 +02:00
Alexander Medvednikov
f269cbdc94
Revert "parser: Support `unsafe(expr)` ( #5973 )"
...
This reverts commit 19c226fcf8
.
2020-07-29 21:41:47 +02:00
Delyan Angelov
9c9533dad9
checker: add error for `fn f() Struct { return &Struct{} }` ( #6019 )
2020-07-29 21:40:43 +02:00
Delyan Angelov
81f8e910e6
compiler: remove space at the end of warn/error messages to minimize diff churn
2020-07-29 20:37:55 +03:00
Swastik Baranwal
4500e7131e
checker: add a checker error for fn calls on left side of an assignment ( #5993 )
2020-07-29 18:33:00 +03:00
Carlos Esquerdo Bernat
7b630f0350
ws: send unsolicited pong control frame on connect in ws_test.v ( #6010 )
2020-07-29 18:11:24 +03:00
Carlos Esquerdo Bernat
2f2463a04c
ws: make Client.state `pub mut` ( #6009 )
2020-07-29 17:52:33 +03:00
Alexander Medvednikov
280afb2282
builder: rename `a` to `args`
2020-07-28 22:33:33 +02:00
Leah Lundqvist
51c9b49d3f
iOS: basic building and running ( #5999 )
2020-07-28 22:27:38 +02:00
Ruofan XU
1d59d35129
cgen: fix sum type match ( #5978 )
2020-07-28 22:17:25 +02:00
Delyan Angelov
e06448b616
eventbus: update test and docs too
2020-07-28 19:08:16 +03:00
Carlos Esquerdo Bernat
0539b2a7ea
eventbus: removed check on publish, always use receiver, args, sender order for callbacks ( #5940 )
2020-07-28 18:48:25 +03:00
Delyan Angelov
9c028bb299
checker: fix passing enum to a method expecting string
2020-07-28 13:50:40 +03:00
Delyan Angelov
228486555c
http: add pub to Method.str()
2020-07-28 12:34:29 +03:00
Delyan Angelov
5bf3b6eda3
gg: fix running tetris and ui examples on linux
2020-07-28 12:12:44 +03:00
Carlos Esquerdo Bernat
49a7a835c7
ws: update README.md ( #5983 )
2020-07-28 11:22:03 +03:00
Nick Treleaven
19c226fcf8
parser: Support `unsafe(expr)` ( #5973 )
2020-07-28 11:20:52 +03:00
Enzo
d7ed3cd8b7
fmt: fix SQL formatting in ORM expressions - remove trailing spaces ( #5996 )
2020-07-28 11:09:42 +03:00
Carlos Esquerdo Bernat
28657fe7cb
http: handle all of the http.Method values in .str() ( #6002 )
2020-07-28 10:39:10 +03:00
Swastik Baranwal
8b66816bdc
scanner: more checks for `_` as num_sep ( #5992 )
2020-07-28 16:09:19 +10:00
joe-conigliaro
5d49034c31
http: backend_windows - use Method enum in ssl_do()
2020-07-28 14:35:21 +10:00
joe-conigliaro
395e886b2e
http/vweb: use Method enum & add helpers
2020-07-28 14:13:19 +10:00
Alexander Medvednikov
fec9920b1a
http: replace method string with an enum
2020-07-27 21:20:23 +02:00
Alexander Medvednikov
65159b8070
gg: bold/mono/italic fonts
2020-07-27 21:20:23 +02:00
joe-conigliaro
61c1c4a690
checker: add error for invalid sum type cast `MySt{1}`
2020-07-28 01:04:04 +10:00
Enzo
2de1437a1e
ci: vet all files from the compiler ( #5994 )
2020-07-27 12:15:29 +02:00
joe-conigliaro
1086150ab9
builder: add comment to parse_imports `re: dup file parsing`
2020-07-27 12:06:48 +10:00
Alexander Medvednikov
3d19167628
http: fix cookies (part 2)
2020-07-26 22:01:25 +02:00
Alexander Medvednikov
cf4235ab65
http: fix cookies
2020-07-26 15:54:21 +02:00
Delyan Angelov
88345d759a
tests: add support for skipping to valgrind_test.v
2020-07-26 16:09:58 +03:00
Ruofan XU
7027b2354b
cgen: fix array and map with fns ( #5938 )
2020-07-26 14:22:02 +02:00
Delyan Angelov
dfa01d8877
rand: add rand.ulid_at_millisecond/1, use it in rand.ulid/0
2020-07-26 14:17:29 +03:00
penguindark
7d52d612ce
rand: add rand.ulid() ( #5979 )
...
* removed debug println
* added newline to the end of the file
* time: add .unix_time_milli() method; rand,time: add tests
* rand: add more ulid tests; move tests to a separate file random_identifiers_test.v
* run vfmt over vlib/rand/random_identifiers_test.v
* speed up time.unix_time_milli
* simplify and speedup time.unix_time/0 and time.new_time/1
* update comment about rand.ulid()
* fix terminating 0 off by 1 issue in rand.ulid()
* optimize time.new_time()
* restore the master version of vlib/time/parse.v
* make test_unix_time more robust
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-07-26 13:10:56 +03:00
Delyan Angelov
9e652c4f40
ci: fix remaining failing tests. Do mut ptr check only outside unsafe{} blocks.
2020-07-26 10:59:07 +03:00
Delyan Angelov
9d056168ae
ci: fix failing tests
2020-07-26 10:48:24 +03:00
Delyan Angelov
a7f484d9a7
tests: make output of vlib/v/compiler_errors_test.v more readable
2020-07-26 10:47:55 +03:00
Carlos Esquerdo Bernat
1f8ae5d12c
websocket: add tests ( #5967 )
2020-07-25 22:25:31 +02:00
Alexander Medvednikov
6796b93abd
tests: fix compiler_errors_test.v
2020-07-25 22:20:10 +02:00
Delyan Angelov
6fcc6cdc75
rand: add comments for rand.uuid_v4, apply some more perf tweaks
2020-07-25 21:39:54 +03:00
Delyan Angelov
ee3ebed23c
rand: further speed up of rand.uuid_v4
2020-07-25 20:21:44 +03:00
Delyan Angelov
3d2fd471b6
ci: prepare for enabling compilation with g++ again
2020-07-25 20:20:49 +03:00
Alexander Medvednikov
7c86156be5
checker: fix unsafe tests
2020-07-25 18:58:23 +02:00
Alexander Medvednikov
34907f7605
checker: do not allow assigning immutable refs to mutable vars
2020-07-25 18:32:36 +02:00
Delyan Angelov
a552674254
vvet: fix segfault on `v vet .`
2020-07-25 15:57:57 +03:00
Delyan Angelov
d5b837e808
rand: speed up rand.uuid_v4() ~7x, with -prod
2020-07-25 13:09:05 +03:00
Delyan Angelov
c1e14b451e
builder: show timing info in bold; also add a `checker summary:` line with -stats
2020-07-25 10:32:29 +03:00
Alexander Medvednikov
3c1427a4e8
all: fix current module in build-module mode
2020-07-25 01:37:54 +02:00
Louis Schmieder
b58b15993c
gen: compile time for (methods and fields) ( #5957 )
2020-07-25 00:02:44 +02:00
Lukas Neubert
2ccb28a93e
checker: run vfmt over checker.v ( #5965 )
2020-07-24 20:12:01 +03:00
Delyan Angelov
289974dd15
rand: use time microseconds too in default rand initialization; generate proper uuid_v4
2020-07-24 14:33:58 +03:00
Delyan Angelov
c429fa7e27
rand: add test for rand.uuid_v4()
2020-07-24 14:01:48 +03:00
Delyan Angelov
bba0edf9a3
rand: add rand.uuid_v4()
2020-07-24 13:59:24 +03:00
Delyan Angelov
bfca55b87a
examples: fix `v build-examples`
2020-07-24 13:29:47 +03:00
Delyan Angelov
8c4429c875
parser: fix passing the is_mut flag of anon fn arguments
2020-07-24 11:27:56 +03:00
Delyan Angelov
d204c926a8
tests: fix compilation of if_smartcast_test.v
2020-07-24 10:30:22 +03:00
pancake
04ef2a2671
os: implement os.system for iOS and uncomment the `$if ios` blocks ( #5947 )
2020-07-24 10:17:32 +03:00
Delyan Angelov
921b5cddd0
live: fix compilation
2020-07-24 08:45:28 +03:00
Delyan Angelov
d31142ac3e
vfmt: fix compilation after the more strict mutability check
2020-07-24 08:43:18 +03:00
Delyan Angelov
d83e2ee330
websocket: fix compilation after the more strict mutability check
2020-07-24 08:41:14 +03:00
Delyan Angelov
346cc5ca2c
term: fix panic in term.header, when cols,rows from get_terminal_size are < 2
2020-07-24 08:34:39 +03:00
Delyan Angelov
c2083203b3
v.util: fix util.emanager.set_support_color
2020-07-24 08:31:05 +03:00
Alexander Medvednikov
ec443c65a8
tests: fix some tests
2020-07-24 01:55:55 +02:00
Alexander Medvednikov
d2675b89c0
builtin: fix a mutable var on windows
2020-07-23 23:18:45 +02:00
Alexander Medvednikov
632e27a4a9
all: fix a big mutability bug and update all mutable vars
2020-07-23 23:16:36 +02:00
Alexander Medvednikov
32c1042ac6
parser: disable the duplicate import check for now
2020-07-23 22:20:00 +02:00
Alexander Medvednikov
653d40bfe8
parser: do not duplicate table imports
2020-07-23 21:59:48 +02:00
pancake
b7bdb97f7d
term: fix crash in `header` when divider.len < 2 ( #5956 )
2020-07-23 18:54:29 +02:00
Louis Schmieder
b537d8e23e
parser: comp `for` attrs array ( #5903 )
2020-07-23 17:19:37 +02:00
Carlos Esquerdo Bernat
7a4c27bd08
log: add flush to log file ( #5942 )
2020-07-23 08:02:53 +03:00
pancake
36352085ae
v: add support for iOS crosscompilation ( #5943 )
2020-07-23 07:58:44 +03:00
Emily Hudson
0f98445f7f
cgen: properly handle more multi-return edge cases ( #5933 )
2020-07-23 00:39:19 +02:00
Uwe Krüger
6586a9a657
fmt: give braced sub expressions a higher priority ( #5941 )
2020-07-23 00:32:34 +02:00
Delyan Angelov
37c6f6ab1b
vfmt: fix compilation with -prod
2020-07-22 21:43:20 +03:00
Delyan Angelov
276c1de190
unsafe: tag with unsafe{} some more pointer manipulations
2020-07-22 21:42:51 +03:00
Delyan Angelov
949ed90b51
utf8: fix a panic in utf8.len("pippo"), mark with `unsafe{}` direct pointer manipulations
2020-07-22 21:15:27 +03:00
Lukas Neubert
4096432a1d
cli: prevent need for unsafe block ( #5937 )
2020-07-22 20:53:49 +03:00
Ryan Willis
938e71b468
v: fix for `import cli { Command }`
2020-07-22 20:33:43 +03:00
Nick Treleaven
ee349691f9
v/checker: Warn about pointer indexing outside unsafe {} ( #5918 )
2020-07-22 20:28:53 +03:00
joe-conigliaro
d46a89b90d
parser/checker/fmt: optimize scope lookups by storing object with ident & add if expr smartcast support to vfmt ( #5935 )
2020-07-23 02:10:31 +10:00
Delyan Angelov
ebbc7bd471
examples: fix crash when running examples/ws/client.v outside of valgrind
2020-07-22 18:42:57 +03:00
Carlos Esquerdo Bernat
b0d76c59f7
websocket utf8: move utf8 functions from websocket to encoding.utf8, add utf8_test.v (4/4) ( #5924 )
2020-07-22 18:36:24 +03:00
Carlos Esquerdo Bernat
635c99e2ed
ws: obtain port when not specified ( #5922 )
2020-07-22 17:35:30 +03:00
Carlos Esquerdo Bernat
0d8ebf5845
websocket: use log instead submodule logger (1/4) ( #5921 )
2020-07-22 17:31:22 +03:00
Ruofan XU
0f72328d1f
cgen: minor generated C source format fix
2020-07-22 17:27:37 +03:00
Carlos Esquerdo Bernat
f09e14a2b9
csv: cleanup reader_test.v
2020-07-22 17:26:26 +03:00
Emily Hudson
1476602f99
builder: pass define flags to msvc ( #5931 )
2020-07-22 17:24:12 +03:00
Ruofan XU
a370dd2867
cgen: further fixes to and array/map of fns ( #5916 )
2020-07-22 02:30:44 +02:00
kalapalo
c3a2e9b5c4
cgen: fix sum type assignment with pointers ( #5868 )
2020-07-22 02:28:49 +02:00
spaceface777
f4251dded0
checker: suggest using `:=` when assigning to undefined variable ( #5911 )
2020-07-21 19:49:53 +03:00
Delyan Angelov
8b930b4888
builder: measure msvc execution too
2020-07-21 19:45:50 +03:00
Delyan Angelov
14fd7d93ca
v.pref: fix `v build file.v`
2020-07-21 19:36:58 +03:00
Delyan Angelov
6dd1494008
encoding.base64: use fixed static arrays for the ending_table and index consts
2020-07-21 17:56:19 +03:00
Delyan Angelov
4cb9e651a6
vfmt: fix `sizeof(C.Type)`
2020-07-21 16:28:30 +03:00
Delyan Angelov
e1eb9c4ff1
vfmt: fix `x := *&int(ptr)`
2020-07-21 15:58:17 +03:00
Delyan Angelov
35df792c05
vfmt: fix `#include "@VROOT/path/x.h"`
2020-07-21 14:26:49 +03:00
Delyan Angelov
8f23accc4e
time: add .format_ss_milli and .format_ss_micro methods
2020-07-21 11:58:33 +03:00
Delyan Angelov
0af415fa28
vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again
2020-07-21 09:05:31 +03:00
Carlos Esquerdo Bernat
6dbc143d67
websocket: move ws example to examples folder ( #5875 )
2020-07-21 00:55:58 +02:00
Alexander Medvednikov
303b65c0b9
roadmap: io streams
2020-07-20 22:51:17 +02:00
Alexander Medvednikov
059722f211
checker: minor vfmt run
2020-07-20 22:30:09 +02:00
Nick Treleaven
15ca64d81d
tests: rename pointer_arithmetic_should_be_checked.vv -> unsafe_required.vv ( #5897 )
2020-07-20 23:04:22 +03:00
Nick Treleaven
a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks ( #5869 )
2020-07-20 20:06:41 +03:00
spaceface777
1a5236e53d
jsgen: export module through commonjs ( #5895 )
2020-07-20 19:57:13 +03:00
Ruofan XU
88c8e194d0
cgen: fix map and array with fns ( #5894 )
2020-07-20 19:53:02 +03:00
Nick Treleaven
e6fc8eb015
checker: check that array slicing indexes are valid ( #5892 )
2020-07-20 19:52:03 +03:00
Enzo
8653605b0a
fmt: allow for comments in call args and if expressions branches ( #5871 )
2020-07-20 17:48:33 +03:00
Nick Treleaven
fb76e02c59
builtin: speed up string.clone() by using C.memcpy ( #5837 )
2020-07-20 17:44:35 +03:00
Carlos Esquerdo Bernat
c60948e52e
runtime: simplify nr_cpus(), add a test for nr_jobs()
2020-07-20 17:36:44 +03:00
Delyan Angelov
fb4c3ff31a
tests: split unsafe.v to vlib/v/tests/unsafe_test.v and a checker output .vv&.out test
2020-07-20 16:53:27 +03:00
Carlos Esquerdo Bernat
60997b3052
net.http: wrap unsafe{} around req.headers.free() ( #5891 )
2020-07-20 15:39:46 +03:00
Delyan Angelov
c858978348
cgen: add support for `-d trace_gen` too. Add `v tracev` command.
2020-07-20 12:36:27 +03:00
Delyan Angelov
587b9dd8aa
tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed
2020-07-20 11:14:55 +03:00
Ruofan XU
9f6aacb739
cgen: fix array of fns init ( #5884 )
2020-07-19 21:44:03 +02:00
Louis Schmieder
bb60fe2ccf
vweb: implement cookie expiration date ( #5873 )
2020-07-19 21:42:50 +02:00
Enzo
8a855ccae1
fmt,vet: handle `var in [single_value]` ( #5882 )
2020-07-19 19:58:34 +02:00
Delyan Angelov
9c3aa8bfc3
sqlite: add more detailed C.sqlite3_ APIs
2020-07-19 19:14:40 +03:00
Ryan Willis
1114fd28d0
all: import individual symbols feature ( #5872 )
2020-07-18 21:34:38 +02:00
Delyan Angelov
de0fc53d62
CI: fix failing tests because of hash.wyhash duplicates
2020-07-18 15:27:57 +03:00
Delyan Angelov
ca8344460a
cli: fix failing test on macos/windows
2020-07-18 15:02:05 +03:00
XeGrox
e5a508c0d7
checker: fix inability to access aliased struct fields ( #5861 )
2020-07-18 13:58:16 +02:00
Alexander Medvednikov
74d70b8719
all: more cached moduels fixes
2020-07-18 13:49:03 +02:00
Delyan Angelov
3a4f2dfe8b
cli: extract improvements to vlib/cli, based on PR 5616 (without cmd/v2)
2020-07-18 14:24:29 +03:00
Alexander Medvednikov
7ab6899538
builtin: fix compilation (part 1)
2020-07-18 11:17:29 +02:00
Alexander Medvednikov
38e5569503
all: cached modules fixes
2020-07-18 11:15:44 +02:00
Nick Treleaven
105a0e015e
checker: warn if unsafe method called outside unsafe block ( #5863 )
2020-07-17 19:14:12 +02:00
Enzo
90d9040e6e
all: make comment expressions + fix vfmt array init ( #5851 )
2020-07-17 19:13:22 +02:00
Nick Treleaven
39f90e25f3
all: `if` guard optional: define `err` in `else` branch ( #5853 )
2020-07-17 19:10:01 +02:00
Uwe Krüger
ea322bdd97
checker, cgen: fix call of generic function returning normal type ( #5865 )
2020-07-17 18:28:45 +02:00
Ryan Willis
e804ba5294
vfmt: add support for VDIFF_TOOL, detect more diffing tools ( #5857 )
2020-07-17 14:03:07 +03:00
Uwe Krüger
f6947d111b
parser: fix `sizeof(int)` when used as call arg for external function ( #5855 )
2020-07-17 11:31:35 +03:00
spaceface777
3583302ad4
parser: force `...` rather than `..` in matches for inclusive ranges ( #5852 )
2020-07-17 11:30:21 +03:00
Lukas Neubert
fa03f390b3
parser: add error for `for i := 0; i++; i < ..` ( #5850 )
2020-07-17 10:31:58 +03:00
Ryan Willis
82e2b1ec33
strconv: use import instead of module in test files ( #5856 )
2020-07-17 02:35:42 +02:00
Alexander Medvednikov
69ef43ba00
vweb: fix ip()
2020-07-16 21:23:35 +02:00
Alexander Medvednikov
cb1009d91b
strconv: more fixes
2020-07-16 20:55:15 +02:00
Alexander Medvednikov
f1b4af33ac
tests: atof_test fix
2020-07-16 19:50:09 +02:00
Alexander Medvednikov
9b2cbdacc6
vfmt: verify
2020-07-16 19:46:03 +02:00
Alexander Medvednikov
a989e017fe
tests: fix f32_f64_to_string_test.v
2020-07-16 19:41:01 +02:00
Alexander Medvednikov
e4fac6ff97
autofree: fix scope position
2020-07-16 19:40:14 +02:00
Alexander Medvednikov
dc89a914ea
cc: build-module/module cache fixes; strconv: move all code in one module
2020-07-16 19:01:56 +02:00
Ryan Willis
f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates ( #5841 )
2020-07-16 18:33:26 +02:00
Swastik Baranwal
f3a505b558
scanner: add check for `_` in num literals ( #5849 )
2020-07-16 17:29:07 +03:00
spaceface777
b900577dae
compiler: handle ranges as `match` conditions ( #5847 )
2020-07-16 16:41:18 +03:00
joe-conigliaro
612fe1b8fb
cgen: autofree scope var position fixes
2020-07-16 20:06:50 +10:00
Alexander Medvednikov
6245876806
vweb: ip()
2020-07-16 00:48:14 +02:00
Nick Treleaven
f5e6a83a05
builtin: unsafe vlib pointer indexing ( #5836 )
2020-07-15 21:56:50 +02:00
Alexander Medvednikov
c563168d69
rand: string()
2020-07-15 21:36:09 +02:00
Nick Treleaven
4b0ded0475
checker: Warn instead of error for pointer arithmetic ( #5840 )
2020-07-15 19:59:39 +02:00
Delyan Angelov
1873a0cb6d
builder: pass -g3 for -cg
2020-07-15 12:46:24 +03:00
Enzo
2ee8f93d60
parser: duplicate method declaration on interface ( #5825 )
2020-07-15 10:23:21 +02:00
Uwe Krüger
8df6e59678
sync: add semaphores ( #5831 )
2020-07-15 10:22:33 +02:00
Delyan Angelov
cf7d03bda6
builtin: implement array.pop()
2020-07-14 20:01:39 +03:00
Enzo
de0b96f52c
parser: fail when interface name is duplicated ( #5828 )
2020-07-14 18:52:51 +02:00
Enzo
d301611de7
fmt: interface decl fixes ( #5829 )
2020-07-14 18:52:28 +02:00
Alexander Medvednikov
60ce938149
builder: make builtin, strconv, os work with `v build-module`
2020-07-14 18:27:14 +02:00
Delyan Angelov
5ad957f270
vfmt: fix formatting for `x, _ := f()`
2020-07-14 19:11:16 +03:00
Delyan Angelov
e23925f2be
pref: add -show-timings option
2020-07-14 18:47:40 +03:00
Alexander Medvednikov
06f5279f77
checker: fix multi_const_field_name_duplicate test
2020-07-14 17:44:08 +02:00
Alexander Medvednikov
899c69caf1
checker: fix dup const test
2020-07-14 17:24:08 +02:00
Enzo
880c8e4dc9
cgen: else if guard ( #5822 )
2020-07-14 17:19:55 +02:00
Alexander Medvednikov
d33fbe4547
checker: format + fix duplicate const error
2020-07-14 17:18:10 +02:00
Swastik Baranwal
c3bdacbf04
doc: add info about _ separator in literals ( #5823 )
2020-07-14 15:46:13 +02:00
Alexander Medvednikov
c3ec5323f0
autofree: move new scope free behind -experimental for now
2020-07-14 15:30:55 +02:00
Alexander Medvednikov
7231b467a6
autofree: fix stmts() free
2020-07-14 14:50:51 +02:00
Alexander Medvednikov
1338e7fce2
autofree: free in each scope
2020-07-14 13:56:52 +02:00
Delyan Angelov
3703ade9f1
doc: add a Numbers section. Add tests for `0b` prefixed integer literals too
2020-07-14 11:10:43 +03:00
Alexander Medvednikov
361d12bf43
pref: -experimental flag
2020-07-14 00:32:33 +02:00
ka-weihe
df45488e09
cgen: fix warnings ( #5820 )
2020-07-14 00:16:31 +02:00
joe-conigliaro
042add0e7f
ast: fix typo in comment
2020-07-14 04:04:16 +10:00
joe-conigliaro
dd06d90466
checker/gen: temp hack for struct fn type field (fixes ui)
2020-07-14 03:59:00 +10:00
Alexander Medvednikov
1c682d7b89
cgen/autofree: sb.writeln() optimization fixes
2020-07-13 18:59:47 +02:00
Delyan Angelov
e5a5e76a30
cgen: fix for passing functions as voidptr args
2020-07-13 19:45:13 +03:00
Delyan Angelov
e3f7681e89
smtp_test: use `assert false return`, remove for loop
2020-07-13 18:52:46 +03:00
Delyan Angelov
97d01a5487
test: enable passing username/password through env vars to smtp_test.v
2020-07-13 18:22:36 +03:00
spaceface777
e9c144bf98
smtp: rewrite module api ( #5819 )
2020-07-13 16:41:23 +02:00
Delyan Angelov
a565848dfa
tests: remove duplicate test autolock_array_1_test.v
2020-07-13 15:02:44 +03:00
Uwe Krüger
6e6010d198
checker, cgen: implement auto-lock for `a[i]++`, `a[i]--` ( #5817 )
2020-07-13 15:01:32 +03:00
Delyan Angelov
b04fff272e
tests: move autolock_array_1.v to autolock_array_1_test.v
2020-07-13 14:21:44 +03:00
Uwe Krüger
aa364ddaca
checker, cgen: checks for shared/lock, first autolock ( #5815 )
2020-07-13 12:19:28 +02:00
Delyan Angelov
1baa7ef806
os: implement os.write_file_array and os.read_file_array .
2020-07-13 10:46:37 +03:00
Alexander Medvednikov
db2346069a
gg: always use stb_truetype for now
2020-07-13 01:02:50 +02:00
Delyan Angelov
f1fdafcdff
pref: add -check-syntax for just parsing files, without checking them
2020-07-12 22:44:38 +03:00
Swastik Baranwal
b5b5176f9b
string: add filter method ( #5812 )
2020-07-12 21:07:28 +03:00
Nedim
8674991bac
smtp: add mail sent confirmation and tests for smtp lib ( #5813 )
2020-07-12 20:42:11 +03:00
Takeru Tanaka
f61a7bf3df
os,rand.mt19937: fix broken links in code comments ( #5806 )
2020-07-12 16:18:52 +03:00
Delyan Angelov
d28a1042a0
net.http, net.websocket: allow importing both in the same app
2020-07-12 15:21:40 +03:00
Delyan Angelov
53ee5eb043
vfmt: fix removing cmod. in []Enum return values
2020-07-12 14:40:50 +03:00
Nick Treleaven
53023c1ca9
all: add UnsafeExpr ( #5793 )
2020-07-12 12:58:33 +02:00
Alexander Medvednikov
cad816a19d
gg: text_height()
2020-07-12 12:48:42 +02:00
Delyan Angelov
9c43d36513
parser,checker: add `-d trace_parser`, `-d trace_checker`
2020-07-12 12:56:01 +03:00
Delyan Angelov
23c8e1f06d
checker: add support for `-d debug_stmts` to ease debugging checker panics
2020-07-12 12:04:39 +03:00
Alexander Medvednikov
40da32a141
gg: text_width()
2020-07-12 01:46:21 +02:00
Nedim
25c397f921
net.smtp: remove credentials from the test ( #5808 )
2020-07-11 21:19:36 +02:00
Nedim
549c4f54cd
net: implementation of SMTP RFC 2821 ( #5807 )
2020-07-11 21:05:24 +02:00
Delyan Angelov
c891014c77
scanner: reduce memory, increase speed for long commented sections
2020-07-11 21:27:39 +03:00
Delyan Angelov
022cc72740
scanner: parse multiple comments and long strings without a stackoverflow
2020-07-11 20:52:08 +03:00
Alexander Medvednikov
a2cb01e16a
parser: parse _x64.v files only with -x64
2020-07-11 19:03:59 +02:00
Alexander Medvednikov
d4dd5645fe
parser: remove strconv import
2020-07-11 18:53:50 +02:00
Delyan Angelov
498c8cfc8e
builtin: skip print_backtraces on panics with tcc, it does it automatically
2020-07-11 17:51:06 +03:00
yuyi
9b4c81e85f
checker: check missing return values in functions ( #5803 )
2020-07-11 16:30:49 +02:00
Delyan Angelov
37d739684c
checker: prevent string(byte), suggest byte.str() instead
2020-07-11 17:09:22 +03:00
ka-weihe
ae349ca6ba
cgen: fix all -Wmissing-variable-declarations ( #5802 )
2020-07-11 15:37:40 +02:00
Alexander Medvednikov
59df2db4e0
ci: disable C++ test for now
2020-07-11 15:36:08 +02:00
Delyan Angelov
26768e8514
vfmt: strip `current_module.` in fn args more robustly
2020-07-11 16:09:20 +03:00
Delyan Angelov
b55f84c0a8
vfmt: turn off module is imported but never used for vfmt
2020-07-11 15:03:37 +03:00
Delyan Angelov
7c0a298701
vfmt: fix crash when a .v file contains only imports
2020-07-11 14:54:55 +03:00
Delyan Angelov
3aeca70970
benchmark: update the example in the README.md
2020-07-11 14:54:55 +03:00
Alexander Medvednikov
ab3c1f2a08
prealloc: skip frees for now
2020-07-11 13:22:18 +02:00
yuyi
fae601fe39
array: add `reverse_in_place` for performance ( #5798 )
2020-07-11 13:17:11 +02:00
Alexander Medvednikov
b92ce38593
os: fix v_realloc call on windows
2020-07-11 12:45:22 +02:00
Alexander Medvednikov
2e275731a3
websocket: fix compilation
2020-07-11 12:41:37 +02:00
Alexander Medvednikov
649821be4c
all: use v_realloc
2020-07-11 12:37:54 +02:00
Alexander Medvednikov
2a696cb837
vet: prohibit spaces before `)`
2020-07-11 12:14:19 +02:00
Alexander Medvednikov
d94a02ba79
strings: builder.writeln() optimization
2020-07-11 12:03:24 +02:00
Alexander Medvednikov
549d7a487d
tests: fix scanner_test.v
2020-07-11 11:51:58 +02:00
Alexander Medvednikov
d4d552fb00
vet: prohibit spaces after `(`
2020-07-11 11:41:39 +02:00
Alexander Medvednikov
a1073105e1
all: re-enable -prealloc
2020-07-11 11:25:56 +02:00
Delyan Angelov
006d260d20
vfmt: keep `vproto.Name`, in module `proto` in struct inits too
2020-07-11 02:42:57 +03:00
Uwe Krüger
646df49c74
builtin: fix string.hash method for `gcc -O2` ( #5794 )
2020-07-11 01:18:52 +03:00
Delyan Angelov
7248d8422e
vfmt: keep `vproto.Name`, when current module is `proto`
2020-07-11 00:59:19 +03:00
pancake
7d6ba2d07d
checker: add error when interface i, without a .str() method, have i.str() called ( #5788 )
2020-07-10 22:47:29 +03:00
Delyan Angelov
2fb5c91f4d
scanner: remove error check for embedded \x00 chars in c'literals'
2020-07-10 21:42:03 +03:00
yuyi
bf14e666ea
cgen: add `gen_map_equality_fn` to compare maps ( #5770 )
2020-07-10 18:08:17 +02:00
yuyi
0c9c66dd6b
cgen: fix mutable array arguments ( #5769 )
2020-07-10 18:04:51 +02:00
Emily Hudson
7488dd829d
all: _allow_multiple_values enum attribute ( #5772 )
2020-07-10 16:43:02 +02:00
Delyan Angelov
88946a34bb
checker: limit showing too many unhandled match cases
2020-07-10 15:49:02 +03:00
penguindark
e85c1fb762
utf8: bug fix in get_uchar ( #5775 )
2020-07-10 14:44:40 +02:00
Swastik Baranwal
9839b0eb7f
parser: handle `a,b += 1,1` ( fix #5735 ) ( #5783 )
2020-07-10 13:59:17 +02:00
Delyan Angelov
75b7b9564a
builder: show the contents of the C .rsp file on -showcc
2020-07-10 13:07:20 +03:00
Delyan Angelov
ca9790a71f
vweb: ensure the tcp connection is always closed at the end of the response
2020-07-10 10:49:39 +03:00
Delyan Angelov
d3e676bdc1
orm: use errcode comparisons, instead of strcmp(sqlite3_errmsg,msg)
2020-07-10 10:14:30 +03:00
Uwe Krüger
581603f2bd
fmt: make formatter know about new keywords `shared`, `rlock` ( #5779 )
2020-07-09 22:41:45 +02:00
Daniel Däschle
fb927dab60
checker: check all branches for return ( #5763 )
2020-07-09 22:38:43 +02:00
Uwe Krüger
194ecda829
fmt: array_init: use line breaks of first elements in every hierarchy ( #5777 )
2020-07-09 22:36:49 +02:00
Lukas Neubert
14d83c8457
orm: fix invalid `no more rows available` error ( #5774 )
2020-07-09 22:36:01 +02:00
Uwe Krüger
e47ad33af6
fmt: format array elements line-by-line when nl after `[` ( #5776 )
2020-07-09 19:47:12 +02:00
yuyi
31ac20876c
cgen: minor formatting of `struct_init` ( #5768 )
2020-07-09 17:25:48 +02:00
Louis Schmieder
3792e17885
vweb: fix routing for 0 params ( #5773 )
2020-07-09 17:16:02 +02:00
Daniel Däschle
c5dc1a33b6
all: remove `it` smartcast and replace with original variable name ( #5764 )
2020-07-09 17:14:14 +02:00
Alexander Medvednikov
9511b7d0a1
cc: do not use -ldl in cross compiling for now
2020-07-09 12:29:49 +02:00
Alexander Medvednikov
8c338a7c3b
cc: format and fix linuxroot download
2020-07-09 12:26:15 +02:00
Alexander Medvednikov
dfa29b6e4d
fast: fix 1mil.v test
2020-07-09 11:56:31 +02:00
Delyan Angelov
73a259496e
tests: support `VTEST_ONLY=fn_,match_ ./v test-fixed` and in compiler_test.v
2020-07-09 10:47:16 +03:00
Delyan Angelov
ce31c4c03e
tests: support `VTEST_ONLY=parser ./v vlib/v/compiler_errors_test.v`
2020-07-09 10:27:31 +03:00
Louis Schmieder
373aa3dbc8
vweb: router: fix trailing / ( #5760 )
2020-07-08 22:15:37 +02:00
Alexander Medvednikov
b8d762df97
gg: use D3D and stb_truetype on Windows;
2020-07-08 21:43:27 +02:00
Tomas Hellström
2790890bc2
ci: use pre built docker containers for musl ( #5759 )
2020-07-08 21:30:57 +03:00
Daniel Däschle
c0fa31e75a
cgen: if smartcast part 3 ( #5755 )
2020-07-08 19:14:47 +02:00
Alexander Medvednikov
03b76d19f1
repl: make the info message a bit smaller
2020-07-08 17:22:38 +02:00
Daniel Däschle
e7cd496c31
parser: smartcast fix ( #5756 )
2020-07-08 16:08:44 +02:00
Nick Treleaven
f834276803
doc: struct literals ( #5726 )
2020-07-08 16:02:35 +02:00
yuyi
64e9bdc213
parser: fix non-void optional fn missing return value ( fix #5736 ) ( #5741 )
2020-07-08 16:01:17 +02:00
Daniel Däschle
5ea17ad2d4
all: if smartcast part 2 ( #5754 )
2020-07-08 15:46:58 +02:00
Louis Schmieder
7ad03e9d6a
vweb: simplify router ( #5751 )
2020-07-08 15:22:03 +02:00
Daniel Däschle
b62bf59c21
all: if-is smartcast part 1 ( #5730 )
2020-07-08 15:17:28 +02:00
Emily Hudson
3b0dfd9ae1
cc: use @response files to avoid command line length limits ( #5750 )
2020-07-08 15:50:17 +03:00
Delyan Angelov
69d3c3f596
cgen: sort const inits/cleanups topologically, skip calling non `fn init(){}` fns
2020-07-08 14:28:58 +03:00
Alexander Medvednikov
2425c05c42
Revert "cgen: sort const inits/cleanups topologically too"
...
This reverts commit 38000f8622
.
2020-07-08 12:56:56 +02:00
Uwe Krüger
88248b1b66
cgen: add support for shared arrays ( #5721 )
2020-07-08 11:05:43 +02:00
Delyan Angelov
38000f8622
cgen: sort const inits/cleanups topologically too
2020-07-08 11:22:30 +03:00
Ruofan XU
9c87ace153
cgen: fix cross assign for functions ( #5734 )
2020-07-08 09:17:26 +03:00
Louis Schmieder
3bb1d24dad
parser: add template path by fn name for vweb ( #5737 )
2020-07-08 09:12:57 +03:00
yuyi
bd16dd9fdf
cgen: fix assert `sumtype is` ( #5739 )
2020-07-08 09:05:01 +03:00
yuyi
b0ce66d141
gen: fix generated `defer` ( #5717 )
2020-07-08 08:39:11 +03:00
Alexander Medvednikov
246e7e8464
vweb: form error
2020-07-07 21:35:59 +02:00
Emily Hudson
cdfb578565
builder: cache msvc ( #5733 )
2020-07-07 20:35:49 +02:00
joe-conigliaro
c99200918e
checker: fix if
2020-07-08 01:42:42 +10:00
joe-conigliaro
2480cce1ed
checker: optimize if & fix typo
2020-07-08 01:36:48 +10:00
Alexander Medvednikov
e0fcd565d5
gg: fix default text size
2020-07-07 17:33:24 +02:00
joe-conigliaro
5fd5e558ae
parser/checker/gen: anon fn direct call with args
2020-07-08 01:10:39 +10:00
Louis Schmieder
f8a89e3f8f
gg: fix text rendering ( #5727 )
2020-07-07 17:09:35 +02:00
Louis Schmieder
2a7a6fa1eb
orm: add delete stmt ( #5725 )
2020-07-07 16:55:32 +02:00
Alexander Medvednikov
4d7d1eb0c4
http: referer()
2020-07-07 14:37:43 +02:00
yuyi
dc24327b1e
cgen: minor optionals fix ( #5714 )
2020-07-07 14:21:02 +02:00
Tarang11
68e01d87be
checker: fix multi assignment for multiple fns ( #5716 )
2020-07-07 14:18:51 +02:00
Louis Schmieder
d2d4ea42ce
vweb: add url query ( #5719 )
2020-07-07 13:46:57 +02:00
yuyi
4490cd2e8a
os: replace panics with optionals ( #5718 )
2020-07-07 12:41:42 +02:00
Alexander Medvednikov
a6450e8e98
vweb: fix and simplify routing
2020-07-07 12:35:45 +02:00
Uwe Krüger
ef02373061
all: remove `rwshared` keyword, make its semantics default for `shared` ( #5710 )
2020-07-07 01:57:31 +02:00
Alexander Medvednikov
013c0e6e16
gg: make FT private
2020-07-06 21:40:24 +02:00
Alexander Medvednikov
48f1f814d2
gg: minor fixes
2020-07-06 20:40:54 +02:00
Alexander Medvednikov
0ed8199da2
gg: merge ft module
2020-07-06 20:29:09 +02:00
yuyi
43c8726c37
cgen: minor optimization of comptime ( #5705 )
2020-07-06 19:58:21 +02:00
Alexander Medvednikov
1f3d7d393e
gg: simplify text rendering
2020-07-06 19:45:00 +02:00
Leah Lundqvist
cfa8e0a81a
js: |0 -> parseInt ( #5703 )
2020-07-06 18:09:54 +02:00
joe-conigliaro
9a4d989188
test: move sumtype int cast test into fn & test var
2020-07-06 23:39:51 +10:00
Leah Lundqvist
659aa8db3c
js: fix int division ( #5701 )
2020-07-06 15:24:24 +02:00
Delyan Angelov
6b2777e681
compiler: support VTMP; tests: delete .tmp.c files on successfull tests
2020-07-06 15:08:46 +03:00
joe-conigliaro
d82e6c9cd9
checker/table: fix sumtype cast from int literal
2020-07-06 21:27:48 +10:00
Delyan Angelov
25771a1afe
compiler: remove -keepc option (it is now always on)
2020-07-06 13:42:18 +03:00
yuyi
c94038af89
cgen: improve generated code formatting ( #5693 )
2020-07-06 12:33:57 +02:00
yuyi
fc7237be7b
checker: fix cast to sum type ( fix #5690 ) ( #5692 )
2020-07-06 12:32:59 +02:00
yuyi
f41edef4c6
checker: add `1/0x0 1/0b0..` division by zero check ( #5694 )
2020-07-06 12:32:00 +02:00
Uwe Krüger
c3614c0e38
cgen, sync: implement separate read/write locks for `rwshared` types ( #5687 )
2020-07-05 22:53:28 +02:00
Louis Schmieder
3cd9e2cab7
vweb: fix index ( #5682 )
2020-07-05 22:05:58 +02:00
spaceface777
d0e321c8a3
fmt: allow parsing files without `fn main()` ( #5681 )
2020-07-05 20:53:01 +02:00
KrisChambers
8d035a446a
Fix v/parser: Failure to parse structs with fields typed as anonymous functions returning having an optional void (`?`) return type. ( #5684 )
...
* Handle optional void return type in function types in struct fields.
* Add more testing for optional return types in struct fields.
* Move language parsing into it's own function
* Fix issue caused by not setting typ.
* Fix test for structs containing anon fn with optional void return types
2020-07-05 19:29:39 +02:00
Alexander Medvednikov
f6ab63f3a0
stbi: remove opengl call
2020-07-05 19:28:31 +02:00
Delyan Angelov
1416c70e73
net.websocket: fix building client.v
2020-07-05 18:44:39 +03:00
joe-conigliaro
4e66728477
checker/table: rearrange sumtype check fns
2020-07-06 00:53:56 +10:00
Alexander Medvednikov
36183660e6
remove oldgg, gl, glfw, freetype from vlib now that we have the new sokol based `gg`
2020-07-05 16:44:28 +02:00
yuyi
96bd4e8794
parser: fix type detection in `match` ( #5679 )
2020-07-05 16:35:45 +02:00
joe-conigliaro
9d7f1a236a
checker/gen: fix nested sumtype matching
2020-07-06 00:25:04 +10:00
yuyi
34a24eaa4e
checker: validate loop var names ( #5677 )
2020-07-05 15:27:37 +02:00
yuyi
cda9240632
cgen: add unsafe block braces and comments in generated code ( #5674 )
2020-07-05 13:32:39 +02:00
Delyan Angelov
770ffa1ebd
crypto.rand: fix linux/solaris rand.read() compilation
2020-07-05 01:33:43 +03:00
Alexander Medvednikov
188bad4f38
vfmt: handle string attrs
2020-07-04 23:38:28 +02:00
Enzo
7778cbe9f5
all: make `os` global in scripts ( #5669 )
2020-07-04 23:37:41 +02:00
yuyi
11866fb017
cgen: improve code formatting of `array_init` ( #5663 )
2020-07-04 21:49:04 +02:00
Delyan Angelov
f374e37b61
checker: add details about a non matching functional argument
2020-07-04 22:37:06 +03:00
Delyan Angelov
108913c69e
checker: handle error token positions with negative pos.len
2020-07-04 21:55:14 +03:00
Delyan Angelov
0637feb382
checker: use a more readable error message for non matching fn args
2020-07-04 21:23:22 +03:00
Delyan Angelov
db4a9d6b59
checker: stricter check for function type signatures
2020-07-04 21:01:08 +03:00
Ryan Willis
bb6ab185c3
ci: fix periodic integration tests ( #5666 )
2020-07-04 19:52:25 +02:00
Daniel Däschle
0626ac2901
checker: fix position of infix expr error
2020-07-04 18:52:40 +02:00
div72
be04de98bb
checker: check for enum value duplicates/overflow ( #5659 )
2020-07-04 18:28:01 +03:00
Delyan Angelov
b018381f10
vfmt: fix `as var` in `match expr as var {}`
2020-07-04 16:46:46 +03:00
Delyan Angelov
fe50bdc164
vfmt: ran `v vet vlib/v/` and fix spaces
2020-07-04 16:19:54 +03:00
Delyan Angelov
d2a2db7bff
vfmt: format scanner.v
2020-07-04 16:14:30 +03:00
Delyan Angelov
5b93b4f37d
vfmt: allow multiple comments after if branches
2020-07-04 16:13:58 +03:00
Delyan Angelov
68af46402e
vvet: allow passing many files, improve specifity for emacs goto error
2020-07-04 15:29:00 +03:00
Delyan Angelov
dc3101384f
checker: cleanup indentation
2020-07-04 14:45:11 +03:00
Delyan Angelov
48029fa9ad
checker: check .str() calls too
2020-07-04 14:43:01 +03:00
Delyan Angelov
35431d457b
checker: add check for strict .str() method signature
2020-07-04 14:14:43 +03:00
Delyan Angelov
4403c76406
vfmt: print `or { }` on a single line
2020-07-04 14:14:43 +03:00
Delyan Angelov
bae9ed0350
os: fix file.writeln(s) too, where s contains `0` bytes
2020-07-04 14:14:43 +03:00
Uwe Krüger
3b067f5f85
all: experimental locked concurrency support, part 1 ( #5637 )
2020-07-04 12:44:25 +02:00
yuyi
27149ba8bc
cgen: fix `in` in mutable arrays ( #5647 )
2020-07-04 12:12:44 +02:00
Ruofan XU
765ffa37eb
cgen: fix == for mut arraay args ( #5648 )
2020-07-04 11:36:33 +02:00
joe-conigliaro
da98c3c135
checker: use new match syntax everywhere
2020-07-04 19:23:41 +10:00
joe-conigliaro
cdd4a7c880
checker: only check ForInStmt.high once
2020-07-04 19:10:37 +10:00
div72
95696559b7
os: fix early termination when saving binary ( #5646 )
2020-07-04 01:48:01 +02:00
Ruofan XU
37f31da6c9
parser: minor simplification ( #5645 )
2020-07-03 23:22:43 +02:00
Alexander Medvednikov
3d3549d65a
Revert "parser: advanced division by zero check ( #5629 )"
...
This reverts commit f03688e443
.
2020-07-03 22:30:51 +02:00
Alexander Medvednikov
e9e437ce05
repl: show short version
2020-07-03 22:30:34 +02:00
Alexander Medvednikov
244d61f8d0
vweb: fix a route matching bug
2020-07-03 22:00:17 +02:00
yuyi
67e85fa9dd
cgen: fix indent in `for_in_string` ( #5631 )
2020-07-03 18:10:45 +02:00
yuyi
61213263cd
cgen: remove extra `\n` in map.get ( #5630 )
2020-07-03 18:10:29 +02:00
Nick Treleaven
0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} ( #5640 )
2020-07-03 18:10:10 +02:00
Ruofan XU
a2395ff3e8
cgen: fix mut map with relation op in fn ( #5642 )
2020-07-03 18:07:11 +02:00
yuyi
9e949622d3
vrepl: pre-imported common modules ( #5643 )
2020-07-03 18:06:36 +02:00
Alexander Medvednikov
2281163efd
vweb: fix a routing bug
2020-07-03 17:50:48 +02:00
Tom Leen
51410fdb6d
vweb: add .txt and .md mime types ( #5641 )
2020-07-03 17:17:25 +02:00
Delyan Angelov
8adaf4efd4
cgen: allow `-printfn main` for _test.v files too
2020-07-03 17:53:48 +03:00
Delyan Angelov
652380c5fd
cgen: fix `-printfn main`
2020-07-03 17:42:59 +03:00
yuyi
dff385cb37
cgen: fix map_in mut ( #5638 )
2020-07-03 17:33:53 +03:00
Delyan Angelov
df2749dd50
vfmt: fix indent level of commented match branches
2020-07-03 17:16:20 +03:00
Alexander Medvednikov
b7175b54eb
vweb: ['/:arg1/:arg2/action'] attribute
2020-07-03 15:10:39 +02:00
yuyi
f03688e443
parser: advanced division by zero check ( #5629 )
2020-07-03 11:28:00 +02:00
yuyi
1efbb83060
cgen: add space before `else` in match ( #5632 )
2020-07-03 11:23:23 +02:00
Delyan Angelov
3c432f5e07
orm: require `order by` instead of just `order`
2020-07-02 23:37:30 +03:00
Delyan Angelov
7004f74b71
orm: fix `LIMIT var` as well
2020-07-02 23:29:29 +03:00
Louis Schmieder
421b6d4a80
orm: fix offset when order is given too ( #5625 )
2020-07-02 23:22:52 +03:00
Delyan Angelov
5813d2bf72
net.socket: add s.peer_ip()
2020-07-02 23:02:56 +03:00
Louis Schmieder
b89cbf3224
orm: add support for ordering ( #5624 )
2020-07-02 20:29:22 +03:00
yuyi
68ac8fde26
tests: add mixed and complex types tests for cross assign ( #5622 )
2020-07-02 18:20:03 +02:00
Delyan Angelov
5b900056f3
vfmt: add _keep.vv tests for the recent fixes, to prevent regressions
2020-07-02 17:50:21 +03:00
Delyan Angelov
d809bbb715
vfmt: fix enum field comments
2020-07-02 17:39:56 +03:00
Delyan Angelov
132170f54c
vfmt: handle comments in enum Abc{} and after match branches
2020-07-02 16:51:09 +03:00
Delyan Angelov
05e11f6336
vfmt: fix `for x; y; i++ \n {}`
2020-07-02 15:30:06 +03:00
Delyan Angelov
37d51e8d74
vfmt: keep top level comments on their own lines
2020-07-02 15:21:09 +03:00
Delyan Angelov
29943d7a91
vfmt: fix eating C. from C.sapp_desc{} and adding & to &&&App()
2020-07-02 15:06:35 +03:00
Tim Basel
703b060d09
cli: add flag/cmd sorting + get_all_found ( #5615 )
2020-07-02 11:10:03 +02:00
yuyi
6cbc0e84f0
cgen: fix cross assign with mutable args ( fix #5609 #5610 #5611 ) ( #5614 )
2020-07-02 11:09:26 +02:00
yuyi
c21527d3c6
cgen: fix indent in multi_return ( #5617 )
2020-07-02 11:08:27 +02:00
yuyi
e904732554
cgen: remove an extra \n in for loops ( #5618 )
2020-07-02 11:03:40 +02:00
Uwe Krüger
6c022db786
scanner: fix string interpolation for '$a.b().c' ( #5612 )
2020-07-02 00:02:59 +02:00
Delyan Angelov
4e34edfa81
vweb: allow quoting @css/@js resources with both ' and "
2020-07-01 22:03:30 +03:00
Alexander Medvednikov
2716a37916
ci: fix v vet call; fmt: fix SizeOf
2020-07-01 20:07:33 +02:00
Alexander Medvednikov
66f36f6dcc
cgen: fix gen_cross_tmp_variable, part 2
2020-07-01 19:39:41 +02:00
Alexander Medvednikov
625ed030ef
cgen: fix getn_cross_tmp_variable
2020-07-01 19:19:49 +02:00
Alexander Medvednikov
dbcb23ddc8
ci: run v vet on cgen and ast
2020-07-01 19:07:19 +02:00
Alexander Medvednikov
da99868a28
ci: run v vet vlib/v/parser
2020-07-01 18:57:14 +02:00
yuyi
40a393926d
cgen: fix cross assign of struct fields ( #5606 )
2020-07-01 18:43:14 +02:00
Delyan Angelov
56ae814cbc
gen: fix js main entry point generation
2020-07-01 19:37:24 +03:00
Alexander Medvednikov
5de0f944bd
vweb: fix a template leak
2020-07-01 17:04:30 +02:00
Alexander Medvednikov
e78dc4d682
strings: fix a leak in builder
2020-07-01 16:52:04 +02:00
Delyan Angelov
d43722fa85
vweb: fix compiling templates containing '
2020-07-01 17:44:26 +03:00
yuyi
2f614ad79f
parser: optimize cross assign using expr.str() ( #5604 )
2020-07-01 16:43:13 +02:00
Alexander Medvednikov
013a4fc0f6
cgen: do not free strings in const decls
2020-07-01 16:40:04 +02:00
Alexander Medvednikov
6dad3cc018
cgen: fix a leak
2020-07-01 15:45:02 +02:00
Nick Treleaven
e7339fec15
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} ( #5581 )
2020-07-01 14:50:17 +02:00
Alexander Medvednikov
5eb76606ae
cgen: store return vals in tmp vars with -autofree
2020-07-01 14:34:14 +02:00
yuyi
92eea7f95a
cgen: fix map cross assign ( #5603 )
2020-07-01 14:03:12 +02:00
yuyi
6c5b638202
parser: fix array cross assign ( fix #5577 ) ( #5591 )
2020-07-01 12:11:03 +02:00
Tim Basel
7386adfc99
cli: help/version abbrev optional + fix various inconsistencies ( #5586 )
2020-07-01 10:54:34 +02:00
Delyan Angelov
ca1f47a742
cgen: fix `for k,_ in map { x << k }`
2020-07-01 11:49:02 +03:00
Delyan Angelov
cfd71560fa
cgen: fix << for `mut a []Type` args
2020-07-01 09:21:50 +03:00
Delyan Angelov
78e1127d99
cgen: treat the main module like any other v module
2020-07-01 00:53:53 +02:00
Alexander Medvednikov
34ddc9240e
tutorials: web blog fixes
2020-06-30 21:04:00 +02:00
Delyan Angelov
3fed6ca050
cgen: comment out g_str_buf for now
2020-06-30 18:32:04 +03:00
Delyan Angelov
2fd960f12c
builtin: implement a double free detection for v strings
2020-06-30 18:32:04 +03:00
nyaascii
f10d2bb75f
string: fix trim_prefix and trim_suffix methods ( #5572 )
2020-06-30 15:44:53 +02:00
Delyan Angelov
af56b01a41
cgen: parametrize g_str_buf size by V_STRBUF_MB; free in _vcleanup()
2020-06-30 16:31:02 +03:00
Louis Schmieder
f3010cbfb2
http: add post function with json as payload ( #5580 )
2020-06-30 14:36:11 +02:00
Uwe Krüger
8a46911725
checker: check if mut function arg is declared as mut ( #5579 )
2020-06-30 14:19:22 +02:00
yuyi
61b8c0b699
cgen: change `i++` to `++i` in `for`
2020-06-30 14:14:48 +02:00
yuyi
628f13f1c8
cgen: minor optimization of `index_expr()`
2020-06-30 14:11:59 +02:00
joe-conigliaro
a3086a2ef3
cgen: optimize generic struct name replacement (temp solution)
2020-06-30 13:45:52 +10:00
joe-conigliaro
73da3c9e4c
generic structs: better naming & comments
2020-06-30 09:22:15 +10:00
Louis Schmieder
616b07204d
vweb: add cookies with expire date
2020-06-29 21:14:36 +02:00
joe-conigliaro
7565fe595b
builder: generic struct fix - derive field type
2020-06-30 04:37:07 +10:00
nyaascii
3436ae99fc
picoev: add html() content-type method
2020-06-29 20:25:16 +02:00
Alexander Medvednikov
77e56aa3f9
cgen: fix string frees in calls
2020-06-29 20:20:35 +02:00
joe-conigliaro
ab37dcaa9c
generic structs: initial implementation
2020-06-29 20:09:09 +02:00
Tim Basel
76176eddab
cli: calculate indent based on name length
2020-06-29 17:59:55 +02:00
Alexander Medvednikov
5b98cde811
cgen: free temp strings
2020-06-29 17:47:12 +02:00
yuyi
9d845262b7
parser: fix module type cast
2020-06-29 17:15:40 +02:00
yuyi
c69ef876c5
os: remove `return none` in `fn()?`
2020-06-29 15:06:26 +02:00
Tim Basel
4a1ce3e1f5
cli: add pretty print for multiline descriptions
2020-06-29 14:47:20 +02:00
Ned Palacios
025652bb78
vdoc: dd .vdocignore + minor fixes
2020-06-29 11:03:09 +02:00
yuyi
c588bdee5a
cgen: fix fn()? return
2020-06-29 11:02:40 +02:00
Delyan Angelov
1ba5996404
parser: fix interface functions with no params (ui examples)
2020-06-29 10:53:12 +03:00
Delyan Angelov
b6e6cde3e8
parser: disallow fns with type only args and a body
2020-06-29 10:21:01 +03:00
ka-weihe
1b0b4be287
atof: fix is_space ( #5555 )
2020-06-29 09:23:51 +03:00
Delyan Angelov
8f1e8a9dde
orm: cleanup test (put structs at top)
2020-06-28 22:10:49 +03:00
Alexander Medvednikov
3f59f23427
vweb: fix a leak
2020-06-28 19:55:53 +02:00
Alexander Medvednikov
d2c508e9a9
checker: clean up
2020-06-28 19:44:41 +02:00
Alexander Medvednikov
219ecd18b5
orm: handle unknown tbale names
2020-06-28 19:01:30 +02:00
Alexander Medvednikov
3dea698c93
checker: do not register pseudo variables in sql queries
2020-06-28 18:56:11 +02:00
Alexander Medvednikov
9cbf572561
tests: fix a typo
2020-06-28 15:59:05 +02:00
Alexander Medvednikov
9feaff3464
x64: fix tests
2020-06-28 14:05:18 +02:00
Alexander Medvednikov
0138f46797
vweb: fix a leak
2020-06-28 13:56:38 +02:00
yuyi
05de780219
map: add map['aa']+='str' test
2020-06-28 13:34:59 +02:00
Delyan Angelov
9814497b91
vfmt: fix eating of sql x { ... limit 1 }
2020-06-28 14:27:53 +03:00
Delyan Angelov
fa867578bc
vfmt: fix segfault in update where the struct is not yet known
2020-06-28 14:07:28 +03:00
Delyan Angelov
0661273aad
vfmt: add support for sql x {} expressions and statements
2020-06-28 13:36:21 +03:00
yuyi
b924c6c4a9
cgen: minor opitimize `infix_expr` ( #5547 )
2020-06-28 11:35:49 +02:00
Delyan Angelov
13783aea70
vfmt: support for 'VDIFF_OPTIONS=-w'
2020-06-28 12:35:05 +03:00
yuyi
d9409006fa
cgen: fix a[0]+='str'
2020-06-28 11:16:16 +02:00
Alexander Medvednikov
e666209fe2
vweb: set_content_type()
2020-06-27 23:22:41 +02:00
Emily Hudson
c84bafbdae
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax
2020-06-27 21:46:04 +02:00
Delyan Angelov
1e5a53abb3
sqlite: support for thirdparty/sqlite amalgamation install
2020-06-27 21:23:26 +03:00
Emily Hudson
1848eb0973
cgen,map: fix leaks in `keys()` and `for x in y`
2020-06-27 17:00:27 +02:00
Alexander Medvednikov
190f970544
checker: handle limit and offset
2020-06-27 16:41:29 +02:00
Alexander Medvednikov
3672cfad0b
orm: offset test
2020-06-27 16:25:25 +02:00
Alexander Medvednikov
f990a0b3d3
orm: offset
2020-06-27 16:22:41 +02:00
Alexander Medvednikov
f073ffa4ad
orm: limit
2020-06-27 16:19:12 +02:00
Louis Schmieder
f8f2fa246e
orm: fix sql table names
2020-06-27 15:14:53 +02:00
Alexander Medvednikov
6a335c4416
fmt: run on parser/assign.v
2020-06-27 15:00:28 +02:00
Alexander Medvednikov
2bfe8e5153
vet: a basic version that just checks indentation for now
2020-06-27 14:50:07 +02:00
yuyi
58763ff299
map: remove unused `get2()` and `get3()`
2020-06-27 13:58:07 +02:00
Alexander Medvednikov
02b846aa72
vweb: fix json() and text() results
2020-06-27 13:56:15 +02:00
Uwe Krüger
8fe70a24a8
checker: forbid non-reference mut arg or receiver of go function
2020-06-26 23:31:38 +02:00
Tomas Hellström
993cd1467b
sync: own submodule for atomic
2020-06-26 23:31:03 +02:00
Alexander Medvednikov
d52f1da7a2
orm: handle missing rows
2020-06-26 20:38:21 +02:00
Tomas Hellström
def99bed02
sync: atomic counters
2020-06-26 20:04:17 +02:00
Emily Hudson
09236a438b
msvc: unique names for pdb files, remove test job limit
2020-06-26 17:16:15 +02:00
Delyan Angelov
c83c5e7c61
os: use `return none` in functions returning `?`
2020-06-26 17:57:02 +03:00
joe-conigliaro
2440ffd013
cgen: always unwrap generic type. fix `x := &T{}`
2020-06-27 00:31:36 +10:00
Delyan Angelov
951f30853a
os: fix rmdir on windows
2020-06-26 17:24:36 +03:00
Daniel Däschle
8903f6e0c0
tmpl: add docs for variables
2020-06-26 15:02:49 +02:00
Lukas Neubert
692ca8ac83
os: make all rm functions return an optional
2020-06-26 15:01:10 +02:00
jhuntos
20884c9576
pg: call PQclean in rows()
2020-06-26 11:55:59 +02:00
joe-conigliaro
202d479bad
checker: fix typo in check_types.v
2020-06-26 15:05:07 +10:00
Alexander Medvednikov
9a713ff9b0
orm: handle more operators
2020-06-25 22:58:28 +02:00
Alexander Medvednikov
aec7f2f6c4
checker: SqlStmt fixes
2020-06-25 22:37:40 +02:00
Uwe Krüger
46379d92f4
fmt: force break in front of long unbreakable parts, avoid very small sub-expressions
2020-06-25 22:24:28 +02:00
Alexander Medvednikov
328cb7ed7e
orm: `update` with selectors and other fixes
2020-06-25 22:23:19 +02:00
Alexander Medvednikov
450c6e843c
orm: `update` with multiple fields
2020-06-25 17:18:44 +02:00
Alexander Medvednikov
b280e08ee0
orm: `update` cgen
2020-06-25 17:12:32 +02:00
Alexander Medvednikov
a8b0dfb38a
checker: allow casting strings to string aliases
2020-06-25 14:55:53 +02:00
Alexander Medvednikov
ce6f687f65
checker: remove an unnecessary error for unexisting types
2020-06-25 14:51:58 +02:00
Alexander Medvednikov
afa5a134b7
orm: move fields fetching to a separate function to remove copy pasta
2020-06-25 14:43:25 +02:00
yuyi
f1e17f30f6
cgen: fix map_in error
2020-06-25 12:53:12 +02:00
yuyi
5e9c154376
os_api: cp/cp_all/... ?bool => ?
2020-06-25 12:06:47 +02:00
Alexander Medvednikov
786be1d1c3
orm: move type logic to checker, so that sql queries can be used before type def
2020-06-25 12:05:24 +02:00
Uwe Krüger
a1bad50b2f
token: use only one representation for precedences
2020-06-25 11:36:13 +02:00
Uwe Krüger
bdecbc1945
fmt: use `-1` for *really* no precedence, since `&` and `|` have precedence 0
2020-06-25 02:39:33 +02:00
ka-weihe
3bb6b6c8b2
map: comments and renaming
2020-06-24 23:31:19 +02:00
Alexander Medvednikov
bb5793d485
vweb: more xss fixes
2020-06-24 22:38:25 +02:00
Alexander Medvednikov
83b300435a
vweb: escape html; table: rename parent_typ to parent_type
2020-06-24 22:12:33 +02:00
yuyi
67d9d94fb3
map: fix m[a]++ etc
2020-06-24 20:41:26 +02:00
Lukas Neubert
955c0b1576
cgen: add 'link' to c_reserved
2020-06-24 20:40:56 +02:00
Uwe Krüger
eb68c222fe
fmt: fix weird bug with tabs in string inpertolation
2020-06-24 20:40:29 +02:00
Alexander Medvednikov
9a77c0ab81
parser: fix the for loop check
2020-06-24 16:58:11 +02:00
Alexander Medvednikov
8ac00b8711
parser: check for loop key/val names
2020-06-24 16:54:21 +02:00
Alexander Medvednikov
4b0e606ae8
checker: fix the alias check
2020-06-24 16:52:23 +02:00
Alexander Medvednikov
9df29d0dd2
checker: do not allow {} for aliases; orm: update stmt
2020-06-24 16:35:18 +02:00
Uwe Krüger
0018e44102
fmt: further improvements by taking precedence into account for subexpressions
2020-06-24 15:19:30 +02:00
Alexander Medvednikov
9d0cc7912a
fmt: re-run on gen/fn.v
2020-06-24 14:56:44 +02:00
Alexander Medvednikov
e918f8faf2
fmt: re-run on checker.v and cgen.v
2020-06-24 14:44:06 +02:00
Alexander Medvednikov
11871d9544
fmt: re-run on parser.v and fmt.v
2020-06-24 14:35:00 +02:00
Alexander Medvednikov
090e6e936a
orm: SqlStmt
2020-06-24 14:32:17 +02:00
Lukas Neubert
30169f86c1
os: make `rm` return an optional
2020-06-24 14:01:19 +02:00
Daniel Däschle
852fca2151
all: call anon fns right away
2020-06-24 12:54:39 +02:00
Alexander Medvednikov
cf7ac7be7f
cgen: zero_struct_field(); orm: zero un-inited fields
2020-06-24 12:53:39 +02:00
yuyi
5f36874c9b
vrepl: fix optional call
2020-06-24 12:45:48 +02:00
yuyi
514ee9d396
cgen: fix optional void return error
2020-06-24 12:45:15 +02:00
Uwe Krüger
56749877ea
fmt: fix handling of double quotes inside single quotes
2020-06-23 23:59:58 +02:00
Alexander Medvednikov
11ad18cd28
vweb: page gen time
2020-06-23 21:02:20 +02:00
Delyan Angelov
fcd73bcb63
scanner: ignore CR signs in string literals
2020-06-23 21:10:58 +03:00
Alexander Medvednikov
74af88bc92
Revert "fmt: re-format parser.v and cgen.v"
...
This reverts commit 6b2808a3f9
.
2020-06-23 18:16:24 +02:00
Alexander Medvednikov
6b2808a3f9
fmt: re-format parser.v and cgen.v
2020-06-23 18:05:53 +02:00
ka-weihe
4e447db883
parser/fmt: fix comments in structs/consts
2020-06-23 18:01:56 +02:00
Uwe Krüger
000eaca6be
fmt: avoid breaking lines with <= 100 characters
2020-06-23 17:54:39 +02:00
yuyi
7efb3ecb34
checker: check deprecated functions
2020-06-23 16:25:24 +02:00
Alexander Medvednikov
db28796b5f
orm: handle bool literals for older sqlite versions
2020-06-23 14:07:39 +02:00
Alexander Medvednikov
16dd889922
orm: test true/false
2020-06-23 13:59:00 +02:00
Alexander Medvednikov
076d0208cd
cc: add -ldl and .o in cross builds
2020-06-23 12:57:06 +02:00
Alexander Medvednikov
63ef04e03e
os: make write_file() return an optional
2020-06-23 11:41:23 +02:00
Alexander Medvednikov
3774ae0d91
orm: fix =
2020-06-23 11:41:23 +02:00
yuyi
e2b5debc6b
checker: check optional type call
2020-06-23 11:39:58 +02:00
yuyi
ed393896f5
checker: check printing of optional type
2020-06-23 11:38:30 +02:00
joe-conigliaro
cff2874608
checker: fn arg - disallow any type with .str() to be passed as string
2020-06-23 08:51:18 +10:00
joe-conigliaro
d19a33c420
sync: use Event for waitgroup on windows
2020-06-23 03:23:42 +10:00
Alexander Medvednikov
a4b159a80f
orm: order by id by default
2020-06-22 17:13:57 +02:00
Alexander Medvednikov
e3f00ff28b
orm: `limit 1` test
2020-06-22 16:58:43 +02:00
Alexander Medvednikov
deb09d95b0
orm: fix `column == var`; limit 1; vweb: @footer
2020-06-22 16:52:16 +02:00
yuyi
73296e486a
parser: fix function return anon_fn without parentheses
2020-06-22 16:03:31 +02:00
Delyan Angelov
b930a11203
parser: fix `match x { mod.constname {} }` handling
2020-06-22 16:16:39 +03:00
yuyi
d232833573
gen: fix printing of generic arrays
2020-06-22 14:54:24 +02:00
Delyan Angelov
cf4dc93e02
sync: run sync.pool without using concurrency features when VJOBS=1
2020-06-22 14:21:54 +03:00
Richard Warburton
640bbbae85
waitgroup: remove races, make platform independent, document
2020-06-22 11:07:34 +02:00
Alexander Medvednikov
e65879d076
fmt: fix compilation
2020-06-21 23:23:31 +02:00
Alexander Medvednikov
011e26ca9a
checker: check sum types in `match`; cross compilation fixes; orm fixes
2020-06-21 23:09:53 +02:00
yuyi
81c19517d1
cgen: add gen_str_for_multi_return
2020-06-21 17:53:13 +02:00
ka-weihe
7f225f2eaa
map: rename size to len
2020-06-21 16:51:02 +02:00
Delyan Angelov
0d6233cd45
net: support for s.max_single_send_size in Socket.send/2
2020-06-21 17:40:39 +03:00
Uwe Krüger
37927235cd
parser: trigger declaration of array element as error
2020-06-20 14:30:03 +02:00
Daniel Däschle
76dc7eea50
vweb: tmpl: add docs
2020-06-20 13:29:55 +02:00
spaceface777
a02aff9126
jsgen: fixes and improvements
2020-06-20 13:22:49 +02:00
joe-conigliaro
ddd83f1fc6
checker: error if variable used before declaration
2020-06-20 12:42:08 +10:00
Alexander Medvednikov
1d8d19c977
vweb: return $vweb.html()
2020-06-20 03:12:38 +02:00
yuyi
e41ddab3b0
test: add multiple array clone tests
2020-06-20 02:35:22 +02:00
yuyi
e484fe15d3
tests: add nested array not equal tests
2020-06-20 02:34:49 +02:00
yuyi
4dc703af2d
cgen: fix nested array equality
2020-06-20 01:40:33 +02:00
JalonSolov
bbd6d0b4e5
vweb: ignore url params on static files
2020-06-20 01:39:55 +02:00
Uwe Krüger
0338d4153a
fmt: make linebreak smarter by algorithm based on penalty
2020-06-19 19:54:26 +02:00
Alexander Medvednikov
a609ff4659
orm: skip fields with [skip]
2020-06-19 17:35:50 +02:00
Swastik Baranwal
72b09d4794
term: add clear
2020-06-19 17:15:41 +02:00
Alexander Medvednikov
3cfeb92a4e
cgen: fix tmp counter; orm: insert fixes
2020-06-19 17:05:57 +02:00
Alexander Medvednikov
cd8392e42d
orm: insert
2020-06-19 16:43:35 +02:00
Uwe Krüger
c78cfa43bc
checker: make map literals have a real type
2020-06-19 15:00:27 +02:00
joe-conigliaro
7bc9e234a3
revert: checker: error if variable used before decleration p1
2020-06-19 21:37:09 +10:00
yuyi
dc8b82e9a4
array: fix multiple array clone
2020-06-19 13:32:55 +02:00
joe-conigliaro
8a5ca4cbdc
checker: error if variable used before decleration p1
2020-06-19 21:31:33 +10:00
spaceface777
624005bbd0
tcc_win: fix tests
2020-06-19 12:54:56 +02:00
Alexander Medvednikov
e8b21b4242
checker: type `x` does not support indexing
2020-06-19 12:53:53 +02:00
Alexander Medvednikov
5f5228f0f3
test: fix `as` checker test
2020-06-19 11:48:19 +02:00
Alexander Medvednikov
d04554f0b7
all: more match updates
2020-06-19 11:46:08 +02:00
Alexander Medvednikov
274ecb71fa
checker: `as` type test
2020-06-19 11:27:20 +02:00
Alexander Medvednikov
d9dd9679e7
cgen: fix a typo
2020-06-19 11:16:51 +02:00
Alexander Medvednikov
ef36520509
checker: check if the type in `as` exists, skip void type errors
2020-06-19 11:15:15 +02:00
yuyi
5a6d440f68
checker: check `array_insert` `array_prepend` type mismatch
2020-06-19 10:49:43 +02:00
Ned Palacios
5ff7d07138
vdoc: fix sorting + other minor improvements
2020-06-19 10:36:45 +02:00
Uwe Krüger
770132ff37
float: make default string representations for floats become alike
2020-06-18 22:33:41 +02:00
joe-conigliaro
1c68417918
parser: error on variable redefinition
2020-06-19 06:16:38 +10:00
spaceface777
68967e833d
parser: skip comp_if when building for a different compiler
2020-06-18 22:01:00 +02:00
Alexander Medvednikov
5ddb129bc2
checker: use the new match syntax
2020-06-18 20:38:59 +02:00
Alexander Medvednikov
78b32892ac
cgen: use the new match syntax
2020-06-18 20:21:08 +02:00
Alexander Medvednikov
d4b17fb0c3
fmt: use the new match syntax
2020-06-18 20:07:48 +02:00
Uwe Krüger
3b6e66db0d
fmt: further fixes for string interpolation and builtin macros
2020-06-18 18:48:23 +02:00
joe-conigliaro
812a9d646a
test: fix sumtype shadow & as test
2020-06-19 01:14:53 +10:00
joe-conigliaro
198fdcf1c6
test: change sumtype var shadow and as test
2020-06-19 01:10:16 +10:00
joe-conigliaro
3533335804
test: add match sumtype var shadow and `as` test
2020-06-19 01:06:40 +10:00
joe-conigliaro
45239cbd62
parser/checker/gen: match shaddow cond var & as support: p2
2020-06-19 00:41:00 +10:00
joe-conigliaro
68143b7b22
parser/checker/gen: match shaddow cond var & as support: p1
2020-06-19 00:33:16 +10:00
Alexander Medvednikov
7be952605b
0.1.28
2020-06-18 15:57:53 +02:00
Alexander Medvednikov
1d28d45c5c
builder: add -lpthread; x64: a+b, a-b
2020-06-18 14:14:42 +02:00
yuyi
947e8922f2
cgen: optimize the format of the generated code
2020-06-18 12:08:36 +02:00
yuyi
930c3d73c1
cgen: fix `arr.insert(0, [1,2,3])` and `arr.prepend([1,2,3])`
2020-06-18 12:08:11 +02:00
yuyi
b806fff90a
parser: minor optimization in parse_multi_expr()
2020-06-18 01:15:17 +02:00
yuyi
3f01e2b796
cgen: fix array.insert and arr.prepend
2020-06-18 00:22:34 +02:00
Alexander Medvednikov
7056f875db
x64: fix another test
2020-06-17 18:31:08 +00:00
Alexander Medvednikov
60bbad4d86
x64: fix a test
2020-06-17 20:24:39 +02:00
Alexander Medvednikov
a602673adb
x64: pass variables to functions
2020-06-17 20:18:51 +02:00
Uwe Krüger
9c9f6415da
fmt: more sophisticated analysis for string interpolat
2020-06-17 19:49:13 +02:00
Alexander Medvednikov
325a7c7ec5
orm: more fixes and tests
2020-06-17 14:29:44 +02:00
Alexander Medvednikov
6066414afa
orm: select many
2020-06-17 14:18:32 +02:00
joe-conigliaro
effa0061e8
parser: fix incorrect duplicate struct attr error
2020-06-17 20:27:51 +10:00
Swastik Baranwal
0052ab71e9
string: add map method
2020-06-17 12:26:55 +02:00
Alexander Medvednikov
fb5cae7376
orm: select where id = x
2020-06-17 04:05:20 +02:00
Uwe Krüger
ddb1770af2
cgen: fix unsigned/signed integer comparisons
2020-06-17 02:54:27 +02:00
Alexander Medvednikov
88654ad81b
orm: use the new optionals
2020-06-17 01:56:50 +02:00
Alexander Medvednikov
ed58192e4c
v orm: select
2020-06-17 00:59:37 +02:00
yuyi
23993d2264
cgen: fix nested array equality error
2020-06-16 18:40:32 +02:00
joe-conigliaro
d478b44915
parser/checker/gen: merge AssignExpr & AssignStmt into just AssignStmt
2020-06-16 21:20:16 +10:00
Alexander Medvednikov
9d6b402df0
test: fix sqlite_test.v
2020-06-16 12:23:52 +02:00
Alexander Medvednikov
e8f8defc3e
ast: SqlExpr
2020-06-16 12:14:22 +02:00
yuyi
2daf915371
parser: `expression evaluated but not used` error
2020-06-16 11:06:53 +02:00
Uwe Krüger
f2d9fa3815
cgen: restructure string_inter_literal()
2020-06-16 10:41:51 +02:00
yuyi
730f485591
test: fix `test_array_init()`
2020-06-15 22:31:11 +02:00
Emily Hudson
49d7a151b7
cgen: edge case for multi-returns
2020-06-15 22:30:16 +02:00
Delyan Angelov
62a872b8b5
vdoc: fix `v doc sokol` const formatting
2020-06-15 18:28:00 +03:00
joe-conigliaro
0cd9066f44
parser/cgen: multiple attributes & better errors ( closes #5334 )
2020-06-15 22:59:09 +10:00
Delyan Angelov
cadde3e9f0
vlib: fix os.exec().output usages, that may rely on trimmed lines
2020-06-15 15:38:20 +03:00
yuyi
b0138e021e
cgen: fix `in` multi_array
2020-06-15 13:21:06 +02:00
Delyan Angelov
e73ed56231
tests: add parser/tests/, move checker_test.v=>compiler_errors_test.v
2020-06-15 10:58:34 +03:00
yuyi
2785a5bf65
checker: check return_duplicate_with_none ( closes #5363 )
2020-06-15 15:10:45 +10:00
spaceface777
5f21b152a7
tcc: support tcc on Windows
2020-06-14 23:15:12 +02:00
Delyan Angelov
c874a22b3b
doc: use `v new` instead of `v create`
2020-06-14 21:20:31 +03:00
yuyi
4e1a09c9f5
cgen: fix array_init temporary variable error
2020-06-14 19:09:27 +02:00
Ruofan XU
90279a7108
checker: use ++ / -- instead of += 1 / -= 1
2020-06-14 19:05:05 +02:00
Swastik Baranwal
a3a91f54a9
checker: handle `!is` in error messages
2020-06-14 19:03:29 +02:00
Mike 'Fuzzy' Partin
206e64d72c
os: add os.uname()
2020-06-14 16:46:30 +03:00
yuyi
2ef0f15b34
string: fix contains behaviour ( closes #5371 )
2020-06-14 19:24:15 +10:00
yuyi
7e0197c1b8
cgen: fix `in` empty array
2020-06-14 10:54:10 +02:00
Adam Stankiewicz
471c931ada
os: do not trim space from output of exec
2020-06-14 01:41:47 +02:00
Alexander Medvednikov
45a3d8474e
cc: remove sysroot hack now that $ bug is fixed
2020-06-13 22:54:20 +02:00
Uwe Krüger
50cd0ed785
parser: fix string array initialization with interpolation
2020-06-13 22:38:10 +02:00
Uwe Krüger
6113c4fe63
builtin: fix string interpolation for autofree
2020-06-13 18:39:17 +02:00
Alexander Medvednikov
6ce7bb4581
vweb: remove an unnecessary empty newline at the start
2020-06-13 16:59:06 +02:00
Adam Stankiewicz
f2a75d5223
test: run all tests even if some fail
2020-06-13 16:20:45 +02:00
Alexander Medvednikov
183924e2a8
cc: linux cross compilation fixes + make work with openssl
2020-06-13 16:19:19 +02:00
Adam Stankiewicz
b3fc462a78
scanner: fix parsing multiple .amp
2020-06-13 00:01:44 +02:00
Alexander Medvednikov
af27963938
string: do not free empty strings
2020-06-12 17:20:51 +00:00
Alexander Medvednikov
ca63b92d4f
cgen: fix _STR 000
2020-06-12 16:55:21 +00:00
yuyi
90f07eb64a
parser: fix fn attributes empty error
2020-06-12 18:27:05 +02:00
Alexander Medvednikov
0d1e5abc41
cgen: call va_end() in _str()
2020-06-12 17:33:08 +02:00
Alexander Medvednikov
7750ce5f60
time: fix relative()
2020-06-12 15:28:28 +02:00
Alexander Medvednikov
b13c95ea48
Revert "vweb: @include tempaltes"
...
This reverts commit 6b06184ef4
.
2020-06-12 14:32:09 +02:00
Daniel Däschle
6b06184ef4
vweb: @include tempaltes
2020-06-12 14:30:07 +02:00
Swastik Baranwal
56ae3797dd
checker: add checks and test for ~ operator
2020-06-12 12:05:20 +02:00
yuyi
b4ad174b7f
array: fix multiple array.repeat index error
2020-06-12 11:42:26 +02:00
Adam Stankiewicz
827a9e221f
cgen: do not double-reference anon fn
2020-06-12 10:48:44 +02:00
Delyan Angelov
0a07dc5762
Revert "_vinit: use static initialization of large const []number"
...
This reverts commit b306c04e99
.
2020-06-12 09:57:38 +03:00
Delyan Angelov
b306c04e99
_vinit: use static initialization of large const []number
2020-06-12 09:41:32 +03:00
yuyi
47ffedc5de
cgen: minor array_init fix
2020-06-12 02:19:48 +02:00
yuyi
ff1437fc5a
cgen: fix multi_array index issue
2020-06-12 01:24:25 +02:00
Alexander Medvednikov
c9cfe9d40b
vweb: @js and @css template fns
2020-06-11 20:34:59 +02:00
Alexander Medvednikov
72fdb09e46
time: relative_short(); fmt: handle $vweb.html()
2020-06-11 20:26:49 +02:00
Delyan Angelov
3bf9b28773
vlib: add fixes for problems, found by check_os_api_parity.v
2020-06-11 21:16:12 +03:00
Delyan Angelov
5ef9569098
cmd/tools: add check_os_api_parity.v - keep module APIs even
2020-06-11 21:13:36 +03:00
Delyan Angelov
05177b9dcb
builder: add 'builtin' to builtin_module_parts instead of .clone()
2020-06-11 19:23:13 +03:00
Delyan Angelov
b2428290f9
builder: fix a const changing bug that prevented 2 builders
2020-06-11 18:35:41 +03:00
yuyi
a66753871d
checker: check array.map/filter fn or anon_fn
2020-06-11 13:14:07 +02:00
Alexander Medvednikov
8f3f27f286
vweb: bring back @header
2020-06-11 11:13:41 +02:00
Don Alfons Nisnoni
39c5c9b966
mysql: update documentation
2020-06-11 11:07:17 +03:00
Emily Hudson
19c3ba2f8f
cgen: ensure struct has empty_struct_declaration to appease msvc
2020-06-11 00:52:06 +02:00
Alexander Medvednikov
684a443b08
cgen: disable _STR_TMP
2020-06-10 21:24:59 +00:00
spaceface777
e50706f25c
jsgen: implement array map and filter
2020-06-10 22:18:20 +02:00
spaceface777
6f886dccca
jsgen: initial string interpolation support
2020-06-10 20:53:43 +02:00
Daniel Däschle
123d788d0d
vweb: include directive
2020-06-10 18:53:04 +02:00
Alexander Medvednikov
a2d7bc6e6f
vweb: look for html templates in `templates/`
2020-06-10 18:00:11 +02:00
Delyan Angelov
972f60d785
cgen: do use g.write_defer_stmts in opt()? calls
2020-06-10 18:43:23 +03:00
yuyi
b6e2495aa2
cgen: remove redundant code for array.map/filter(anon_fn)
2020-06-10 17:25:54 +02:00
Alexander Medvednikov
1254d7a302
cc: fix windows cross compiling for programs that use json
2020-06-10 17:15:24 +02:00
Emily Hudson
bf7f84d16f
cgen: fix using C constants in enums, `none` propagation
2020-06-10 17:01:55 +02:00
Delyan Angelov
a43b8b5c96
vfmt: add maps_in_fn_args__keep.vv test for 3a369f5
2020-06-10 17:15:53 +03:00
Delyan Angelov
3a369f513c
vfmt: fix table.type_to_str(), keep map[string]mod.Type in fn args
2020-06-10 17:12:55 +03:00
yuyi
acf0b84523
cgen: fix array.filter(anon_fn)
2020-06-10 13:18:59 +02:00
yuyi
12faf9fcfa
cgen: fix multiple array.map(anon_fn) calls
2020-06-10 13:18:45 +02:00
Alexander Medvednikov
a130d3cd14
vweb: fix unused var warning
2020-06-10 12:17:49 +02:00
Alexander Medvednikov
b904d7d1ba
vweb: debug prints behind $if debug
2020-06-10 11:50:06 +02:00
Alexander Medvednikov
931bba1d7d
net: fix windows urlmon flag
2020-06-10 11:25:41 +02:00
Alexander Medvednikov
c261ac4f46
net: fix windows headers
2020-06-10 11:24:37 +02:00
Alexander Medvednikov
2ed4457c5f
vweb: init_once()
2020-06-10 11:24:36 +02:00
Tomas Hellström
2dc547a45c
time: fix iso8601 parser and utc time
2020-06-10 11:14:55 +02:00
Ned Palacios
8f9f426479
vdoc: plaintext fixes
2020-06-10 11:14:03 +02:00
Ned Palacios
e3c40f1df8
vdoc: minor css fix + add error message
2020-06-10 11:13:42 +02:00
joe-conigliaro
e38a221dc3
checker: fix second use of gloabl ident
2020-06-10 16:59:31 +10:00
Alexander Medvednikov
4a7ec90bef
vweb: fix a bug with <span>
2020-06-10 01:43:04 +02:00
Alexander Medvednikov
e5aba94ae4
vweb: use state enum
2020-06-09 23:20:51 +02:00
joe-conigliaro
3664bea912
vweb/checker: show tmpl var errors
2020-06-10 02:47:51 +10:00
Delyan Angelov
4fc41c4bc4
v: add compiler support for _unlikely_(x) too
2020-06-09 18:11:03 +03:00
Delyan Angelov
c7d4360931
v: add full compiler support for _likely_(x)
2020-06-09 17:42:43 +03:00
Delyan Angelov
6663e94780
builtin: add C._likely_ support
2020-06-09 16:36:53 +03:00
Hungry Blue Dev
e649cf84e3
rand: reorganize: phase 2
2020-06-09 15:06:07 +02:00
yuyi
85c741519b
cgen: fix array.map(fn...)
2020-06-09 12:50:56 +02:00
Alexander Medvednikov
b3e416fb52
vweb: fix duplicate fn error with multiple templates
2020-06-09 12:43:20 +02:00
yuyi
1396dc1c89
cgen: remove extra blank lines
2020-06-09 12:23:08 +02:00
Alexander Medvednikov
3b8f01b4fb
sokol: remove duplicate #include ft2build.h
2020-06-09 12:21:35 +02:00
joe-conigliaro
62c80bc2c5
parser: add mod list to allow globals by default
2020-06-09 18:49:15 +10:00
Alexander Medvednikov
5dcd2303c9
builtin: fix string.fields()
2020-06-09 10:15:20 +02:00
yuyi
d472a27489
cgen: fix array.map(anon_fn)
2020-06-09 10:14:10 +02:00
spaceface777
895c7624e4
jsgen: improve handling of `blank_ident`
2020-06-09 09:45:50 +02:00
joe-conigliaro
2799a6f065
parser/checker: fix global lookup
2020-06-09 17:08:11 +10:00
Delyan Angelov
99f311cc5f
checker: protect against stackoverflows due to deep expr recursion
2020-06-08 20:35:33 +03:00
spaceface777
30f1c6bad5
parser: fix type_only fns starting with varargs
2020-06-08 19:02:36 +02:00
wilesun
564545d20a
cgen: add defered statements before propagating option returns
2020-06-08 18:50:23 +03:00
Adam Stankiewicz
b4dbf9cacf
table: remove name from MultiReturn type
2020-06-08 15:40:40 +02:00
Adam Stankiewicz
586a886975
table: add tests and improve performance
2020-06-08 15:36:59 +02:00
Louis Schmieder
d3839b5d68
glm: improve matrix mult function and add tests
2020-06-08 15:31:55 +02:00
Alexander Medvednikov
1bbfc271c5
vweb: fix unused tmpl warning; remove duplicate code
2020-06-08 13:30:42 +02:00
Alexander Medvednikov
dabfc4ebd0
checker: do not display errors for incorrectly initialized vars
2020-06-08 13:10:47 +02:00
Alexander Medvednikov
288a6ee468
vweb: minor tmpl fixes
2020-06-08 12:44:38 +02:00
Ned Palacios
721a3a24ae
vdoc: minor features + fixes
2020-06-08 10:28:46 +02:00
Delyan Angelov
6c9b2b8303
builtin: use tcc_backtrace for tcc (phase 2)
2020-06-08 10:46:51 +03:00
Delyan Angelov
8a16086084
builder: pass -bt10 for tcc (phase 1 for using tcc_backtrace)
2020-06-08 10:40:01 +03:00
Ryan Willis
08814d6de4
tools/vsymlink: use the win32 api to update the system environment
2020-06-08 09:19:31 +02:00
Delyan Angelov
0058b8253d
vdoc: fix 'module, comment, import' sequence bug
2020-06-08 09:27:22 +03:00
Enzo Baldisserri
11b7b97311
parser: fail when assigning to _ with :=
2020-06-08 00:47:04 +02:00
Ned Palacios
36edd6295f
vlib: transfer intro to readme; normalize comments
2020-06-08 00:04:23 +03:00
Louis Schmieder
2cad6db9f7
http: fix redirect for servers returning lowercase 'location:' header
2020-06-08 00:01:20 +03:00
Alexander Medvednikov
3bbda7103f
Revert "parser: allow void return type for C functions"
...
This reverts commit d7c63922d5
.
2020-06-07 19:06:19 +02:00
Alexander Medvednikov
30ade1d6ea
tests: test more vweb template features
2020-06-07 19:06:07 +02:00
Swastik Baranwal
d7c63922d5
parser: allow void return type for C functions
2020-06-07 19:45:27 +03:00
Delyan Angelov
2b6ba63a55
ci: fix tests (most CI jobs do not have pg set up)
2020-06-07 18:08:31 +03:00
Alexander Medvednikov
e029044b13
pg: fix compilation
2020-06-07 16:05:44 +02:00
Alexander Medvednikov
931cf86cc3
tests: build vweb example
2020-06-07 15:44:33 +02:00
Alexander Medvednikov
8277c976a8
gg: draw_image,draw_rounded_rect placeholder fns
2020-06-07 15:20:42 +02:00
Tomas Hellström
9c8769503f
time: add microsecond precision to Time struct
2020-06-07 16:19:09 +03:00
Lukas Neubert
eec5cf1eb1
vpm: use only `-v` for verbose output
2020-06-07 14:20:56 +02:00
joe-conigliaro
70c18fc7b2
vweb: tmpl access to action method vars
2020-06-07 21:26:47 +10:00
Ned Palacios
cbcdc8434f
vdoc: group constants + minor fixes
2020-06-07 12:27:42 +02:00
joe-conigliaro
1c2bf7b244
vweb: impl of comptime tmpl parsing (fix vweb_example)
2020-06-07 20:26:45 +10:00
Delyan Angelov
013bfc7ebc
vweb: add vweb.run_app(app,port); fix compilation of vweb_assets/main.v
2020-06-07 11:02:35 +03:00
Sumeet Chhetri
442030a7c8
picoev: make compile, add header parsing
2020-06-07 01:23:30 +02:00
Alexander Medvednikov
d62d0c40d2
parser: fix typo
2020-06-06 21:36:55 +02:00
Alexander Medvednikov
4d5ac1e16d
vweb: $html
2020-06-06 21:36:34 +02:00
Delyan Angelov
16bf300934
os: fix compilation with -cc gcc -prod of programs using os.cp
2020-06-06 22:05:23 +03:00
Delyan Angelov
e534f8507b
vlib: minor tweaks for various module imports, needed for vdoc
2020-06-06 19:14:10 +03:00
Delyan Angelov
8d3f680d07
vdoc: implement .toplevel_comments parsing mode
2020-06-06 19:05:26 +03:00
Delyan Angelov
3aecdeab63
os,gl,sync: cleanup, prepare for .toplevel_comments vdoc mode
2020-06-06 18:47:25 +03:00
Alexander Medvednikov
fb6be080fb
fmt: fix compilation
2020-06-06 16:52:41 +02:00
Alexander Medvednikov
2770077cb0
fmt: x.foo!() experiment
2020-06-06 16:05:24 +02:00
Alexander Medvednikov
40bd1be85f
parser: fix !
2020-06-06 12:43:35 +02:00
Alexander Medvednikov
100b3986b8
parser: handle ! after CallExpr
2020-06-06 12:28:03 +02:00
joe-conigliaro
34af7ccba9
scanner: cut keyword lookups in half
2020-06-06 19:49:50 +10:00
Alexander Medvednikov
7815c5b108
cgen: $action (ComptimeCall); vweb: hello world works!
2020-06-06 10:05:26 +02:00
joe-conigliaro
0a3486b4c5
checker: generic/vewb fix
2020-06-06 17:06:11 +10:00
joe-conigliaro
c2fe4ffa85
table: remove fn to set idx & add new derive fn
2020-06-06 12:51:36 +10:00
joe-conigliaro
31d03bb113
checker/cgen: small generic fixes (mut arg return)
2020-06-06 12:24:27 +10:00
Uwe Krüger
de76ac583f
parser: fix string interpolation for expressions ending `c`, `r`, `js`
2020-06-05 22:37:34 +02:00
Alexander Medvednikov
11908410f3
vweb: make compile
2020-06-05 21:04:18 +02:00
Alexander Medvednikov
e3917d98c2
generics: another mut arg test
2020-06-05 20:57:05 +02:00
Louis Schmieder
5c74e86ec4
gl: add comments & clean up
2020-06-05 15:57:45 +02:00
Alexander Medvednikov
3478430762
gg: borderless windows on macos without animation
2020-06-05 15:43:47 +02:00
Delyan Angelov
c1fc61200c
gg: support .keydown_fn and .char_fn in addition to .event_fn
2020-06-05 12:39:06 +03:00
joe-conigliaro
3c4e4d4825
gen/checker: copy ptr & flag info in unwrap_generic
2020-06-05 18:41:15 +10:00
Ned Palacios
30e0bda434
vdoc: rewrite usage, add new options + streamline process
2020-06-05 09:59:26 +02:00
yuyi
c9b395f9cf
checker: fix for_in_index type error
2020-06-05 09:44:25 +02:00
yuyi
ef46fbb96f
cgen: clean up ternary
2020-06-05 08:30:03 +02:00
Delyan Angelov
24b263cf87
vid: bring back scale field to gg.Config, fixes vid compilation
2020-06-05 08:48:31 +03:00
Delyan Angelov
2237968ec1
gg: fix x11 scaling
2020-06-05 08:19:34 +03:00
Alexander Medvednikov
e7f52ebed6
gg/ft: minor Sokol fixes
2020-06-04 23:51:59 +02:00
Daniel Däschle
d0f9bdf85e
vdoc: style and other improvements
2020-06-04 23:50:59 +02:00
Daniel Däschle
6118875ee3
vweb: add tmpl api to compile either file or a string
2020-06-04 22:30:25 +02:00
Alexander Medvednikov
13a7ce9e69
gg: GG => Context
2020-06-04 20:26:18 +02:00
Alexander Medvednikov
926ffc8aa9
freetype: use old gg
2020-06-04 20:18:22 +02:00
Alexander Medvednikov
fb7ca56d87
gg: minor fixes
2020-06-04 19:57:16 +02:00
Uwe Krüger
cf9498ef6b
cgen: use standard checks for float comparisons
2020-06-04 19:47:41 +02:00
joe-conigliaro
1c43204224
table: remove extra parens & inline fn
2020-06-05 00:28:34 +10:00
Alexander Medvednikov
6b6c9d6738
gg: make the Sokol based gg the default
2020-06-04 16:05:15 +02:00
yuyi
dd7ebf7fac
parser: check function argument mutable syntax
2020-06-04 15:20:43 +02:00
joe-conigliaro
edd56bc080
table: allow type hold 8 flags at once
2020-06-04 22:38:54 +10:00
Alexander Medvednikov
277b7b35d0
cgen: write_fn_attr()
2020-06-04 12:20:14 +02:00
joe-conigliaro
41dca3ef58
checker/cgen: fix mutable generic fn args
2020-06-04 19:32:31 +10:00
yuyi
8a24d7d723
checker: optional return fix
2020-06-04 10:40:32 +02:00
yuyi
5ae8853648
all: change `f mut Foo` to `mut f Foo`
2020-06-04 10:35:40 +02:00
Delyan Angelov
0b7fe0a9d0
gg2: add the rest of the sokol callbacks in gg.new_context
2020-06-04 09:48:49 +03:00
Delyan Angelov
576e80b3a9
tetris: restore text rendering with gg2.ft.draw_text
2020-06-03 23:09:34 +03:00
Swastik Baranwal
d286f67220
parser: update check for non mut types in fn
2020-06-03 18:47:18 +03:00
yuyi
962bbf1c60
fmt: fix ?void format error, add _keep.vv test
2020-06-03 18:45:40 +03:00
yuyi
ffafeac0f8
cgen: optimize gen c code format
2020-06-03 18:24:08 +03:00
Leah Lundqvist
5e2a6ffe65
jsgen: small fix - remove trailing comma in export
2020-06-03 17:30:43 +03:00
Delyan Angelov
8a23cfc0d6
tetris: support instant `d`rop key, add +FPS counter on -d showfps
2020-06-03 16:45:26 +03:00
pancake
e9bcd36d5e
builtin: implement generic break_if_debugger_attached()
2020-06-03 14:11:23 +02:00
yuyi
13e09c61ef
tests: add multi_dimensional array init tests
2020-06-03 14:10:29 +02:00
yuyi
1060de88af
parser: fix function mutable argument error
2020-06-03 12:28:16 +02:00
spaceface777
4b7c70caca
parser: fix JS functions starting with caps
2020-06-03 10:57:32 +02:00
Alexander Medvednikov
d182059ba6
tests: fix fn_test.v
2020-06-03 10:54:47 +02:00
Alexander Medvednikov
00978da2c4
checker: fix mut int test
2020-06-03 10:45:19 +02:00
Alexander Medvednikov
888a43a684
checker: fix mut int test
2020-06-03 10:40:41 +02:00
Alexander Medvednikov
199f4f006b
checker: fix mut int check
2020-06-03 10:36:56 +02:00
Delyan Angelov
6a0a2da05c
cgen: support `$if test { ... }`
2020-06-03 10:20:10 +03:00
Alexander Medvednikov
99c70cf9c6
pref: do not allow -o .v
2020-06-03 09:03:46 +02:00
Mike 'Fuzzy' Partin
ac0fee8e64
repl: fix BSDs
2020-06-03 08:44:44 +03:00
yuyi
d0ff9a7c4a
parser: correct fn arg position in error message
2020-06-03 08:42:02 +03:00
Delyan Angelov
845084c89d
strconv: fix format_dec example
2020-06-03 01:30:46 +03:00
Alexander Medvednikov
63b8cdea7a
checker: require () in a && b || c
2020-06-02 22:21:44 +02:00
Delyan Angelov
0a84f0feb5
vdoc: prevent infinite recursion in get_parent_mod
2020-06-02 23:14:46 +03:00
yuyi
1386c5df13
parser: use `?` instead of `?void` errpr
2020-06-02 17:24:24 +02:00
Uwe Krüger
b0f66a4e05
checker: permit int -> f32, int64 -> f64 and similar promotions again
2020-06-02 17:00:14 +02:00
Alexander Medvednikov
640688d8cf
vdoc: fmt doc/doc.v
2020-06-02 16:19:55 +02:00
Alexander Medvednikov
fb3e52ca63
all: `!is` operator
2020-06-02 16:18:12 +02:00
Alexander Medvednikov
78f8a8aee6
cgen: remove g_ hack
2020-06-02 15:49:43 +02:00
Alexander Medvednikov
1139d3b458
gg: move text rendering to gg.ft
2020-06-02 15:35:41 +02:00
yuyi
653a27005b
cgen: fix multi dimensional array init error
2020-06-02 15:15:52 +02:00
Delyan Angelov
3521c9045b
vpm: change hardcoded ~/.vmodules/ (does not work on windows)
2020-06-02 14:36:49 +03:00
Ned Palacios
b99ba21ddd
vdoc: markdown, html, json generation + lots of fixes
2020-06-02 12:10:01 +02:00
Emily Hudson
46dbbd0ed0
json: add enum to json_test to prevent regressions
2020-06-02 12:13:26 +03:00
yuyi
63b2d4be99
cgen: make >8 indent levels work
2020-06-02 10:40:24 +02:00
Alexander Medvednikov
ad8ed851d0
examples: make tetris compile
2020-06-02 09:38:42 +02:00
Alexander Medvednikov
138d730dfa
checker: prepare for the is_changed check
2020-06-02 09:00:51 +02:00
Ned Palacios
9fcb8536e8
fmt: fix struct decl gen with c structs
2020-06-02 07:41:02 +02:00
ka-weihe
13c68eb81e
rand: fix warnings
2020-06-02 06:39:38 +02:00
Uwe Krüger
076089d3c5
checker: apply stricter type checks to function args and return types
2020-06-01 21:15:59 +02:00
Hungry Blue Dev
a7c84834f4
rand: reorganize (step 1)
2020-06-01 21:13:56 +02:00
Naheel
4fcabb71c4
os: implement cp for nix
2020-06-01 21:11:40 +02:00
Delyan Angelov
4956ca62e3
websocket: move .nonce_size to pub mut:
2020-06-01 20:37:24 +03:00
Delyan Angelov
328a235f94
websocket: add Client.nonce_size field
2020-06-01 20:31:58 +03:00
Emily Hudson
0c7bac4ba7
json: fix enums and byte, cleanup
2020-06-01 19:36:07 +03:00
Delyan Angelov
6161392648
json: do not generate comptime encode/decode functions already defined in json_primitives.v
2020-06-01 19:04:17 +03:00
Delyan Angelov
c6a7d0a3a0
tests: update the remaining erroring tests, CI should be green now
2020-06-01 18:30:26 +03:00
Delyan Angelov
ae8f7cf569
tests: fix some tests, that failed due to the stricter immutable checks
2020-06-01 18:24:38 +03:00
Delyan Angelov
86862d6a94
checker: remove mod_file_cacher exception
2020-06-01 17:43:03 +03:00
Alexander Medvednikov
3d83934caf
checker: check mutating methods; generics fixes
2020-06-01 15:44:10 +02:00
Delyan Angelov
945439dab6
cgen: print actual values on a failed assert (when possible)
2020-06-01 14:43:38 +03:00
Alexander Medvednikov
9bcbb3868f
gg: migrate to sokol; examples: update tetris
2020-06-01 12:57:08 +02:00
Don Alfons Nisnoni
37e3cc0e72
mysql: simplify, add more functionality & documentation
2020-06-01 11:26:39 +02:00
Delyan Angelov
97b9ce04a4
crypto.rand: cleanup test, make it less likely to fail in CI
2020-06-01 07:49:52 +03:00
spaceface777
11e6734912
jsgen: more fixes and improvements
2020-05-31 20:48:31 +02:00
pancake
304258162c
cgen: when building a shared library, make vinit() a constructor
2020-05-31 17:27:23 +02:00
Mike 'Fuzzy' Partin
411868a43a
util: add gdiff to the list of diff utilities to support bsd systems
2020-05-31 17:01:31 +02:00
Alexander Medvednikov
a5ddb613fb
builder: linux cross compilation
2020-05-31 15:09:07 +02:00
Delyan Angelov
f1f6fb1a9f
json: fix `f32 is not struct`
2020-05-31 14:17:20 +03:00
Uwe Krüger
faf3248e98
checker: check types for bitwise right shift
2020-05-31 12:58:13 +02:00
Emily Hudson
75eac291ac
all: variable sized options
2020-05-31 12:57:26 +02:00
Alexander Medvednikov
f87e872fa2
checker/cgen: interface match
2020-05-31 10:22:21 +02:00
Delyan Angelov
bb9d268bd9
fmt: add struct init keep test, fix another &&Foo bug
2020-05-30 22:34:57 +03:00
Alexander Medvednikov
905f844b16
cgen: return interface fix
2020-05-30 20:18:03 +02:00
Alexander Medvednikov
1ca7a607d3
checker/cgen: return interfaces
2020-05-30 19:54:16 +02:00
Uwe Krüger
b74e1bb05d
checker: fix type mismatch in function argument for struct reference init
2020-05-30 15:42:12 +02:00
Emily Hudson
a4de507c6d
cgen: panic on assertion failed outside tests
2020-05-30 13:19:52 +02:00
Alexander Medvednikov
dd34e65398
gg: sokol fixes and text rendering benchmark
2020-05-30 12:52:27 +02:00
Delyan Angelov
f9cb0d443b
builder: improve suggestion on a w64 cross compile fail on linux
2020-05-30 13:49:03 +03:00
Delyan Angelov
d148920b54
v.util: prepare CI for the external markdown module (needed for vdoc)
2020-05-30 11:06:16 +03:00
JalonSolov
b7dc5b2f7b
stopwatch: auto_start option, make pause cumulative
2020-05-30 10:20:54 +03:00
Delyan Angelov
077e06b44e
fmt: fix struct field default expressions and tags
2020-05-29 21:22:27 +03:00
yuyi
1e504fb388
parser: check undefined variable of assign_expr
2020-05-29 17:38:40 +02:00
Delyan Angelov
f3c5f36317
parser: allow for `struct Abc { f [skip] = -1 }`
2020-05-29 12:45:54 +03:00
Delyan Angelov
0970e61350
repl: fix exiting raw mode by reverting da9b3d8
...
This reverts commit da9b3d82d2
.
2020-05-29 09:03:55 +03:00
Alexander Medvednikov
1c11ac9fdf
checker: make sure `is` is only used with interfaces and sum types
2020-05-29 06:46:01 +02:00
yuyi
3a340cbffc
checker: fix array_init cast type error
2020-05-29 06:39:46 +02:00
Alexander Medvednikov
bec3e07635
interfaces: fix `is`
2020-05-29 05:54:53 +02:00
pancake
b3f2c629c6
builder: use .dylib for -shared builds in macOS
2020-05-29 04:52:19 +02:00
Alexander Medvednikov
39925b8dac
live: simplify elog()
2020-05-29 04:42:02 +02:00
Alexander Medvednikov
96fb7901b3
live: fix reloader.v
2020-05-29 04:36:08 +02:00
Alexander Medvednikov
81b44dc2c9
generics: generic call inside generic call; checker: check mut args at call
2020-05-29 04:30:00 +02:00
Emily Hudson
f0a9b88ac4
all: add stdcall attribute, unhandled exception handler, get_raw_stdin, v_realloc
2020-05-29 03:06:27 +02:00
Tim Basel
7e538d7401
utils: add args to launch_tool
2020-05-28 19:40:09 +03:00
yuyi
28ffe2a6ee
checker: add error for struct fields of type []unknown
2020-05-28 19:38:53 +03:00
spaceface777
60716bba29
parser: fix nested array_init syntax
2020-05-28 19:36:57 +03:00
pancake
1d78914a8f
parser: support @VROOT in #include too, make it use absolute paths
2020-05-28 19:36:04 +03:00
Delyan Angelov
75b8822f06
scanner: prevent infinite looping, when reaching .eof due to parser bugs
2020-05-28 19:22:11 +03:00
Delyan Angelov
d70cd81875
v.pref: remove 'setting pref.path to ...' when given -v
2020-05-28 18:41:26 +03:00
Matt Baulch
da9b3d82d2
readline: fix stack memory leak on Linux
2020-05-28 15:38:20 +02:00
Alexander Medvednikov
9609b3a9c8
checker: make the method warning an error
2020-05-28 15:30:54 +02:00
Alexander Medvednikov
01dbb25a37
checker: do not allow defining methods on types from other modules
2020-05-28 15:23:20 +02:00
Leah Lundqvist
1d0ebfb691
jsgen: add hash statement
2020-05-28 14:38:10 +02:00
pancake
2943bdc1f6
cgen: add support for $if (mach|darwin|hpux|gnu|qnx|bsd)
2020-05-28 13:33:12 +02:00
Tim Basel
d688d356a7
cli: assign parent by default; add disable_flag
2020-05-28 13:32:43 +02:00
yuyi
977eb895e8
checker: check array init's element type
2020-05-28 13:32:12 +02:00
Ethan Reynolds
6da1d3aff8
gx: convert Color values from int to byte and expand operators
2020-05-28 13:21:20 +02:00
Matt Baulch
c7501e2d3d
os: fix build issue caused by fileno on *BSD
2020-05-28 11:08:59 +02:00
Delyan Angelov
a3bd8d3e4c
cgen: add trace info about auto str generation
2020-05-28 10:36:29 +03:00
Delyan Angelov
55ef117531
cgen: fix for V structs fields (auto str and json_decode)
2020-05-28 09:55:37 +03:00
Ned Palacios
94f23d96e9
vfmt: fix generation on C idents, fixed arrays
2020-05-28 08:06:20 +02:00
Alexander Medvednikov
d6037cbcf2
generics: fix method calls
2020-05-28 05:58:19 +02:00
Delyan Angelov
ae8cc2f433
live: fix -live compilation && make live_test.v not swallow segfault errors
2020-05-28 03:21:49 +03:00
yuyi
9cbd9db4e7
cgen: fix swap assign of prefix and postfix expr
2020-05-28 02:22:09 +03:00
div72
cecb7d29c7
Prevent vfmt from appending the module name to FnTypeDecl inside the same module ( #5080 )
2020-05-28 02:19:24 +03:00
Alexander Medvednikov
4988d340b1
generics: fix method calls
2020-05-28 01:19:08 +02:00
Hungry Blue Dev
e89ae7e194
rand: refactor rand.v and random_numbers_test.v
2020-05-28 02:16:17 +03:00
Delyan Angelov
04ca7efc0c
websocket: fix compilation of client.v
2020-05-28 01:38:54 +03:00
Delyan Angelov
f6bdb3ae81
v.vmod: cleanup vmod.mod_file_cacher API
2020-05-28 01:38:11 +03:00
Delyan Angelov
2046ae78df
builder: improve `redefinition of function` messages
2020-05-28 00:56:28 +03:00
Delyan Angelov
0292666ac1
builder: use verror instead of panic when a _test.v file does not exist
2020-05-27 21:38:09 +03:00
div72
48cc8dd86b
rand: cleanup of rand_f32xxx and rand_f64xxx functions
2020-05-27 20:13:57 +03:00
yuyi
84edbd83da
all: fix struct names error
2020-05-27 19:12:34 +03:00
Alexander Medvednikov
670820cc59
parser: do not allow 1 char struct names
2020-05-27 16:00:00 +02:00
Alexander Medvednikov
5423a15f46
generics: more fixes
2020-05-27 15:56:30 +02:00
Larpon
8c753ddf8d
rand: add random functions for f32 and f64, [0,max] and [min,max] versions
2020-05-27 16:41:37 +03:00
Ned Palacios
e0db880791
fmt: simplify map_init
2020-05-27 16:26:45 +03:00
Delyan Angelov
a4af4f9fe7
http_test.v: comment yahoo test urls for now
2020-05-27 15:53:57 +03:00
Emily Hudson
0b64e2190f
checker,cgen: unpack multi returns in return statements
2020-05-27 15:47:38 +03:00
x0r19x91
72ed673566
builtin: array: fix slice cloning
2020-05-27 14:07:03 +02:00
Larpon
6ca53d7b39
scanner: improve @FN substitution for anon functions
2020-05-27 12:05:50 +03:00
Delyan Angelov
481f103dc9
checker: make an error using non `pub` fns from other modules
2020-05-27 12:00:19 +03:00
Delyan Angelov
ebbf42dadb
tests: add a commented test_generic_fn_with_variadics, which worked with old v
2020-05-27 08:41:12 +03:00
Alexander Medvednikov
59711d9c55
generics: test `T{}`
2020-05-27 06:53:52 +02:00
Uwe Krüger
013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost
2020-05-27 05:42:48 +02:00
Alexander Medvednikov
fc67046bac
checker: fix pub fn check
2020-05-27 03:38:21 +02:00
Alexander Medvednikov
7c9279c447
vfmt: make work with comptime
2020-05-27 03:33:40 +02:00
yuyi
23c0bb600c
scanner: fix vmod_file on windows
2020-05-27 03:32:39 +02:00
Alexander Medvednikov
6f7628cb67
parser: comptime call fixes
2020-05-27 03:20:25 +02:00
Ned Palacios
b02ec8cbf9
vfmt: fix raw string support
2020-05-27 03:10:47 +02:00
Delyan Angelov
3cfdd2a4cd
scanner: add support for @VMOD_FILE
2020-05-26 23:39:15 +03:00
yuyi
bb48851092
cgen: fix mutliple_assign swap
2020-05-26 18:00:51 +02:00
ka-weihe
64173c792f
builtin: map: fix memory leak
2020-05-26 17:59:52 +02:00
Larpon
31ba64b409
scanner: add support for `@STRUCT` compile time substitution
2020-05-26 15:35:11 +02:00
Julia K
285e04393e
cgen: fix missing space, remove unnecessary comment
2020-05-26 16:22:28 +03:00
pancake
8d10adf886
flag: fix a typo
2020-05-26 14:27:01 +02:00
Julia K
2b27072fac
compiler: new attributes, prelude customization
2020-05-26 14:12:18 +02:00
Emily Hudson
748b1d3381
cgen: use typ() for array type
2020-05-26 14:11:59 +02:00
Enzo Baldisserri
145b125155
websocket: make compile
2020-05-26 12:50:37 +02:00
Julia K
b4eadb9030
cmd/v: reimplement -path flag
2020-05-26 03:17:52 +02:00
Alexander Medvednikov
b4d88ee4af
checker: handle map.clone()
2020-05-26 02:09:26 +02:00
ka-weihe
8ea0c812a2
builtin: map.clone()
2020-05-26 01:52:06 +02:00
Alexander Medvednikov
0f92800921
cgen: string buffer fix
2020-05-26 00:04:13 +02:00
Delyan Angelov
b0cfd3fa67
parser: reimplement [flag] enum support. Add p.vcodegen too
2020-05-26 00:00:48 +03:00
Delyan Angelov
5825e467b8
checker: fix appending an .enum_val to a struct field of []Enum
2020-05-25 21:48:43 +03:00
spaceface777
f8b237433f
jsgen: fix array push operator
2020-05-25 19:34:42 +03:00
Larpon
09dc2eed82
scanner: add support for '@MOD'
2020-05-25 19:33:41 +03:00
Alexander Medvednikov
bc3e29e77b
cgen: fix a bug with tmp strings/free
2020-05-25 11:01:21 +00:00
Alexander Medvednikov
53a10eb312
cgen: use STR_TMP with -autofree
2020-05-25 12:46:18 +02:00
pancake
fe249cd1f8
pref: fix crash in 'v run' without arguments
2020-05-25 12:30:12 +02:00
Enzo Baldisserri
d22609051a
checker: CallExpr with handled optional returns plain type
2020-05-25 11:32:14 +02:00
yuyi
30ca08aaa3
parser: fix self-referenced error
2020-05-25 11:31:04 +02:00
Delyan Angelov
96808a0e2a
cgen: generalize _vcleanup of array/string consts + valgrind with tcc
2020-05-25 10:24:19 +03:00
Delyan Angelov
ae03aab03e
cgen: autofree math.bits and strconv.ftoa constants
2020-05-25 09:53:30 +03:00
Delyan Angelov
6683f98eba
cgen: add support for `-printfn _vcleanup` and `-printfn _vinit`
2020-05-25 09:47:00 +03:00
Alexander Medvednikov
656bc6b6c8
tests: valgrind: strings are freed now!
2020-05-25 06:23:50 +00:00
Alexander Medvednikov
f41e2c0a4b
string: make replace() clone for now; parser: comptime method
2020-05-25 08:17:36 +02:00
Alexander Medvednikov
1b36d7a037
cgen: handle c++ keyword
2020-05-25 05:46:58 +02:00
Alexander Medvednikov
99ce3d456b
jsgen: handle ComptimeCall
2020-05-25 05:38:47 +02:00
Alexander Medvednikov
1ef8eacd6e
checker/gen: more generics fixes; ComptimeCall
2020-05-25 05:32:36 +02:00
yuyi
ec7863d174
cgen: fix array_init of struct error
2020-05-25 04:45:16 +02:00
spaceface777
4189190bb8
jsgen: start implementing remaining `expr`s and `stmt`s
2020-05-24 22:49:01 +02:00
Uwe Krüger
fd4d28b7b6
tests: update for stricter type checks
2020-05-24 21:07:32 +02:00
penguindark
4e66c12557
strconv: minor fixes
2020-05-24 21:06:35 +02:00
Delyan Angelov
a0f8005352
checker: support tests/run/ folder, checks many warns/errors/output
2020-05-24 21:13:09 +03:00
Delyan Angelov
23e8c8ecda
checker: prevent infinite recursion on a:=b b:=a
2020-05-24 20:55:04 +03:00
yuyi
641fe5c864
checker: fix unresolved variables error on assignments
2020-05-24 20:33:53 +03:00
Delyan Angelov
1754ba19d8
live: cleanup live_test.v output, remove 1s delay
2020-05-24 18:38:43 +03:00
Delyan Angelov
d16485c29e
live: make live_test.v more robust
2020-05-24 17:45:53 +03:00
Uwe Krüger
7c4f2b535b
cgen: prepare any_in, any_float on v side
2020-05-24 15:26:43 +03:00
Delyan Angelov
ddcb5f7da3
gen: fix autogenerated print methods for vargs
2020-05-24 15:05:19 +03:00
Uwe Krüger
c4fbae3edc
cgen: add definitions of any_float and any_int types to cheader
2020-05-24 11:28:25 +02:00
Delyan Angelov
2adfbfc830
builtin: fix a bug in array_delete
2020-05-24 11:10:41 +03:00
Alexander Medvednikov
7963e48ca1
tests: valgrind: disable string.replace() test for now
2020-05-24 07:33:33 +00:00
Alexander Medvednikov
494f4fe986
tests: valgrind: string.replace()
2020-05-24 07:19:58 +00:00
Delyan Angelov
06540f0e91
net: fix warnings due to uppercase consts
2020-05-24 07:39:47 +03:00
Alexander Medvednikov
85d19dd253
cmd/v: error-limit
2020-05-24 04:47:51 +02:00
Alexander Medvednikov
67750c91d7
generics: lots of fixes
2020-05-24 04:43:03 +02:00
yuyi
4608898bcd
checker: fix multiple assign immutable error
2020-05-23 17:30:28 +02:00
Delyan Angelov
4271eb477c
cgen: disable C static fn attribute with -cg (improves backtraces)
2020-05-23 14:04:02 +03:00
Delyan Angelov
43eaec325d
fmt: add keep tests for struct init, fix warnings
2020-05-23 12:05:21 +03:00
Delyan Angelov
c690c2f984
vfmt: fix formatting of struct init without a module prefix
2020-05-23 11:56:06 +03:00
Delyan Angelov
70f0115e27
options: use panic_debug() for opt()? calls in main with -cg
2020-05-23 11:43:20 +03:00
Enzo Baldisserri
801bca1ef2
compiler: propagate optional
2020-05-23 08:51:15 +02:00
Delyan Angelov
5037d9de37
vlib: remove unused uiold
2020-05-23 09:19:41 +03:00
Delyan Angelov
4af4a8f2ff
fmt: fix 'import time as t', then using t.sleep_ms() .
2020-05-22 22:31:24 +03:00
Delyan Angelov
104359365f
examples: fix const name warnings due to gx.White, etc...
2020-05-22 20:00:46 +03:00
Delyan Angelov
acb58a1f98
parser: add p.peek_tok3, fix `for ...<a.len...`
2020-05-22 19:48:47 +03:00
yuyi
dda875a9c8
all: unify const names to snake_case
2020-05-22 17:36:09 +02:00
Delyan Angelov
aef751861d
cgen: fix `_ := []byte{init:1}`
2020-05-22 18:17:20 +03:00
Delyan Angelov
88fa935376
builtin: fix print mem leak on windows
2020-05-22 12:18:27 +03:00
Delyan Angelov
7a4f26ac4f
compiler: use -lpthread during building v itself.
2020-05-22 08:36:56 +03:00
penguindark
8bf290acf0
os: minor fixes
2020-05-22 06:21:11 +02:00
Alexander Medvednikov
edabd57e8a
parser: use parallel only on macos for now
2020-05-22 02:45:11 +02:00
Alexander Medvednikov
1e853072dc
parser: parallel parser, part 1
2020-05-22 02:23:14 +02:00
yuyi
2f171bf5d9
regex: uniform const field names to snake_case
2020-05-21 23:33:51 +02:00
Leah Lundqvist
f2ea8ca62c
jsgen: class -> factory
2020-05-21 22:36:06 +02:00
Enzo Baldisserri
1633675c11
gen: fix nested `or`
2020-05-21 22:35:43 +02:00
Alexander Medvednikov
d3ce6fd2e7
checker: check each generic function for each type
2020-05-21 21:51:52 +02:00
Ruofan XU
b2b0461218
scanner: fix err pos related to num literal
2020-05-21 18:43:57 +02:00
Alexander Medvednikov
227f039652
vfmt: handle generic fn calls
2020-05-21 18:36:25 +02:00
Alexander Medvednikov
87d8e70d6d
checker/table: generic fixes
2020-05-21 18:15:04 +02:00
Swastik Baranwal
bf7ab19d09
builder: do not allow importing 'builtin' module
2020-05-21 16:31:41 +02:00
Abdullah Atta
cb82ff618b
jsgen: proper jsdoc for namespace
2020-05-21 16:31:07 +02:00
Maddi Kopfermann
26cb9e4b9f
regex: fix spelling
2020-05-21 16:22:39 +03:00
Ruofan XU
aba09a7e4d
scanner: fix err pos related to num literals
2020-05-21 16:20:36 +03:00
Abdullah Atta
9888bacad5
v: make js hello world work
2020-05-21 16:17:16 +03:00
Louis Schmieder
a9999ee10d
glm: add uniform functions to gl, add matrix rotation to glm
2020-05-21 16:13:02 +03:00
yuyi
047e982318
gen: fix pointer_str_test.v
2020-05-21 15:09:35 +03:00
Alexander Medvednikov
abb15275f5
checker: update a `for in` error test
2020-05-21 06:06:11 +02:00
Alexander Medvednikov
45c9ccfc03
tests: simple<string> generics test
2020-05-21 04:56:36 +02:00
Alexander Medvednikov
ce1a181699
all: generic functions
2020-05-21 03:58:53 +02:00
yuyi
b8c028c727
parser: fix -5.str() precedence
2020-05-20 23:26:23 +02:00
Alexander Medvednikov
cd07429cc1
rand: fix compilation on linux
2020-05-20 21:14:17 +00:00
Alexander Medvednikov
ca81442fac
parser: fix a small bug with <
2020-05-20 21:47:03 +02:00
Alexander Medvednikov
82cedbaf62
fmt: fix `map[string][]string`; parser: allow `foo<int>(10)`
2020-05-20 21:40:24 +02:00
Delyan Angelov
e3a162db77
http: remove redundant consts in backend_nix.c.v
2020-05-20 21:40:29 +03:00
spaceface777
d4c1ea4bba
jsgen: fix jsdoc class namespacing bug
2020-05-20 20:34:37 +02:00
Don Alfons Nisnoni
10ad5332e8
parser: improve unused imports warning
2020-05-20 20:50:27 +03:00
Delyan Angelov
9d4fe88d09
compiler: support for -color/-nocolor option overrides
2020-05-20 20:34:04 +03:00
Alexander Medvednikov
80070516fd
http: set buffer size to 1536
2020-05-20 19:23:51 +02:00
Alexander Medvednikov
5d08c9d5a8
http: use bufsize const
2020-05-20 19:22:02 +02:00
Alexander Medvednikov
0d3f133436
parser: show location of a previously defined function
2020-05-20 17:27:37 +02:00
spaceface777
dd534fde57
jsgen: many fixes and updates
2020-05-20 16:57:42 +02:00
Louis Schmieder
a0ed1e2878
gl: add bind_attrib_location, also add gl cleanup functions
2020-05-20 16:24:37 +03:00
Tanel Liiv
c9f3a05ef6
checker: fix map/filter called with a plain fn argument
2020-05-20 15:28:33 +03:00
Delyan Angelov
6eee69f7bc
http: cleanup ssl_do, enhance the detection of chunked encoding
2020-05-20 14:32:59 +03:00
Delyan Angelov
ac396ea02f
http: cleanup backend_nix.c.v, fixes vpm too
2020-05-20 12:04:28 +03:00
Delyan Angelov
1c2376741b
http: fix redirects handling
2020-05-20 09:58:57 +03:00
Alexander Medvednikov
0a6d709ce2
http: fix recent changes; picoev: make compile
2020-05-20 05:37:03 +02:00
Sandro Martini
e137fbb1ea
array: more tests of initialization
2020-05-19 19:53:47 +02:00
yuyi
b3b86ea6d7
cgen: fix array_init has len but no init error
2020-05-19 18:33:24 +02:00
spaceface777
b10df252dc
all: replace `is_c`, `is_js` with `language`
2020-05-19 17:12:47 +02:00
yuyi
74686d0ec4
test: fix alias type errors and type_test.v
2020-05-19 15:04:51 +03:00
Ned Palacios
bd85d2fd2a
vfmt: make methods and structs public, to be used in vdoc
2020-05-19 14:19:37 +03:00
spaceface777
e07869af91
builder: fix false-positive import cycle warning
2020-05-19 14:17:03 +03:00
Delyan Angelov
931c846602
os: cleanup code duplication for os.create and os.open
2020-05-19 13:38:06 +03:00
Alexander Medvednikov
03525843a0
parser: do not allow calling private functions
2020-05-18 22:54:11 +02:00
Uwe Krüger
2635be511f
all: re-apply C++ support
2020-05-18 21:38:06 +02:00
Alexander Medvednikov
895cefe351
parser: do not allow defining methods on types from other modules
2020-05-18 20:55:22 +02:00
Alexander Medvednikov
57ea9bec30
tests: vfmt test for all vlib/v files
2020-05-18 18:43:07 +02:00
Tanel Liiv
2344c1a435
parser: fix to multi-expr
2020-05-18 18:33:27 +02:00
Alexander Medvednikov
b1bf5f0edc
vfmt: wrap long sum type definitions
2020-05-18 18:08:32 +02:00
Alexander Medvednikov
5c0c418818
ast: vfmt ast.v
2020-05-18 18:06:09 +02:00
Alexander Medvednikov
07a78b2843
Revert "all: C++ compiler support"
...
This reverts commit 9a237c3e82
.
2020-05-18 17:05:48 +02:00
Alexander Medvednikov
fc900baf9e
parser: a minor simplification
2020-05-18 17:02:29 +02:00
Alexander Medvednikov
90270d8791
vfmt: handle fixed size arrays
2020-05-18 16:52:12 +02:00
Uwe Krüger
9a237c3e82
all: C++ compiler support
2020-05-18 15:51:36 +02:00
Alexander Medvednikov
d325cdba0d
checker: fmt
2020-05-18 15:43:52 +02:00
Ned Palacios
d94d436273
table, vfmt: fix typ_to_string + some fixes to vfmt
2020-05-18 15:37:06 +02:00
Ned Palacios
ae3df002a2
vmod: add v.mod parser
2020-05-18 14:35:28 +02:00
Delyan Angelov
53ffee1e02
compiler: respect -showcc, -prod, -cg, when cross compiling for windows
2020-05-18 12:11:26 +03:00
Alexander Medvednikov
4f307c1a78
checker: requre & in struct init; http: chunked encoding
2020-05-18 05:11:00 +02:00
Leah Lundqvist
88e6d987d6
js: imports and anon_fn
2020-05-17 21:39:01 +02:00
Swastik Baranwal
d697b2848a
checker: more checks for in and !in
2020-05-17 17:03:32 +02:00
spaceface777
0def084932
checker: fix JS name regression
2020-05-17 16:23:09 +02:00
Delyan Angelov
627400723c
x64 gen: improve error handling for unknown nodes
2020-05-17 15:45:17 +03:00
iRedMail
4a70d2fe51
examples: fix 2 unused var warnings
2020-05-17 14:15:04 +02:00
yuyi
7f4cf08516
parser: check `(mut f Foo)` syntax
2020-05-17 13:51:18 +02:00
Hungry Blue Dev
b138cadbcb
math.fractions: add approximation.v and tests
2020-05-17 12:00:29 +03:00
yuyi
02fb393747
test: fix vrepl and cast test errors
2020-05-17 02:13:08 +02:00
Alexander Medvednikov
81148fa2bd
cmd/v: version: print only main repo hash
2020-05-16 23:52:06 +02:00
Alexander Medvednikov
8cbb9e1c1f
pref: move parse_define()
2020-05-16 22:57:55 +02:00
Alexander Medvednikov
5b15b8ccc9
checker: do not allow casting strings
2020-05-16 22:52:41 +02:00
Alexander Medvednikov
6e4ae5a5e6
checker: do not allow casting strings
2020-05-16 22:48:45 +02:00
asvvvad
e245e22875
os: make exists_in_system_path function public
2020-05-16 22:46:05 +02:00
Alexander Medvednikov
0845b2cfbe
builder: skip warnings; pref: move pref creation to pref.v
2020-05-16 22:45:38 +02:00
Delyan Angelov
62cb48d252
repl: treat middle imports in a more forgiving way
2020-05-16 22:03:28 +03:00
yuyi
6855996cca
cgen: fix array_init_with_default
2020-05-16 19:05:26 +02:00
penguindark
48659f4145
regex: small fixes, '-' minus to char classes, remove all C.printf
2020-05-16 17:11:13 +02:00
asvvvad
57dd26650c
os: add new function exists_in_system_path
2020-05-16 17:10:34 +02:00
yuyi
655d9bda94
cgen: remove extra `;` from if_expr
2020-05-16 17:09:57 +02:00
Enzo Baldisserri
f44a40eee0
checker: check incorrect names
2020-05-16 16:12:23 +02:00
Swastik Baranwal
37cf46d67a
checker: add more checks for modulo
2020-05-16 15:32:46 +02:00
yuyi
9b6ee8e77d
cgen: array_init_with_default
2020-05-16 15:21:37 +02:00
Delyan Angelov
789b75df92
cheaders: fix _MOV macro in the C case
2020-05-16 15:51:09 +03:00
Larpon
aa30549337
scanner: fill out '@FN' placeholder at compile time while scanning
2020-05-16 14:20:19 +02:00
Delyan Angelov
034bf46e4d
vlib: remove unused arrays module
2020-05-16 00:20:14 +03:00
Tanel Liiv
44502a3fb2
parser: return multi expr
2020-05-15 23:14:53 +02:00
Alexander Medvednikov
7caebc5781
doc: print available modules
2020-05-15 23:09:38 +02:00
Delyan Angelov
2dbb4c2ca7
live: cleanup
2020-05-15 23:51:40 +03:00
spaceface777
7c9bb44784
parser: allow JS methods with more than 1 dot
2020-05-15 22:26:51 +02:00
Swastik Baranwal
04744a5390
string: add trim_prefix and trim_suffix
2020-05-15 19:37:14 +02:00
Delyan Angelov
5d0cc0944e
parser: fix v_panic due to -pos in unused var warning (with tcc)
2020-05-15 20:11:27 +03:00
Alexander Medvednikov
c4ca6a9113
sokol: make examples compile
2020-05-15 18:55:29 +02:00
Delyan Angelov
465f0ddf60
regex: fix unused variable warnings in regex_test.v
2020-05-15 18:50:54 +03:00
spaceface777
8de6da01d6
jsgen: prefix JS keywords with 'v_'
2020-05-15 15:55:49 +02:00
yuyi
8500c8885c
cgen: fix optional_void error; handle `?` return type
2020-05-15 15:55:03 +02:00
Delyan Angelov
66cb61c242
builtin: cleanup by turning backtrace* fns to ordinary C. fns
2020-05-15 15:52:06 +03:00
Delyan Angelov
e18268e2f4
cheaders: use backtrace* stubs for both android & musl
2020-05-15 15:37:59 +03:00
Delyan Angelov
2c93deb884
builtin: bootstrap for backtrace functions cleanup
2020-05-15 15:08:42 +03:00
Dario Tarantini
f7605c397a
stbi: pub fields in Image
2020-05-15 13:15:04 +02:00
Enzo Baldisserri
d60233b618
cgen: simplify for in range
2020-05-14 22:22:32 +02:00
Alexander Medvednikov
0f251e9ede
checker: handle json.decode correctly
2020-05-14 18:30:30 +02:00
Alexander Medvednikov
f49ef39708
checker: handle unexpected `or` blocks
2020-05-14 18:19:40 +02:00
Alexander Medvednikov
e5d4786371
builder: simplify C error message
2020-05-14 18:14:38 +02:00
Enzo Baldisserri
fd0d833e33
gen: if expressions with multiple statements
2020-05-14 17:15:25 +02:00
wilesun
2a9cbbe157
cgen: handle sizeof(C.struct)
2020-05-14 17:14:59 +02:00
yuyi
6d0b791ac8
parser: warning about unused imports
2020-05-14 17:14:24 +02:00
Alexander Medvednikov
c3fe2135a4
math.fabs
2020-05-14 16:58:20 +02:00
Alexander Medvednikov
2369a5c8c6
cgen: handle `is` for interfaces
2020-05-14 16:56:45 +02:00
yuyi
70b76a8e31
builder: use verror for not found modules
2020-05-14 10:59:29 +03:00
Delyan Angelov
74005b4362
vfmt: handle file paths with spaces
2020-05-14 09:07:14 +03:00
Delyan Angelov
d830620651
compiler: restore support for --enable-globals flag, and add tests.
2020-05-14 08:43:12 +03:00
Alexander Medvednikov
1cb4aa7642
builder: cross compiling for linux, part 1
2020-05-14 04:15:04 +02:00
Alexander Medvednikov
e60e8f3b34
builder: bring back cross compilation for windows
2020-05-13 23:02:31 +02:00
Alexander Medvednikov
1bf26a35fa
array: rename default to init
2020-05-13 22:00:24 +02:00
Alexander Medvednikov
ab7bc760c6
cgen: new Option part 1
2020-05-13 21:59:08 +02:00
Sandro Martini
9895cab51c
tests: add more tests on interfaces
2020-05-13 20:30:18 +02:00
Enzo Baldisserri
1ca04e6113
checker: prevent interface instantiation
2020-05-13 19:20:15 +02:00
Hungry Blue Dev
3270545953
fraction: simplify variable names
2020-05-13 18:39:19 +02:00
yuyi
2e0b9de31c
parser: error for consts in fns
2020-05-13 18:39:02 +02:00
Enzo Baldisserri
172e4ff853
cgen: simplify if guard else clause
2020-05-13 18:38:00 +02:00
Alexander Medvednikov
33a9822548
parser/vfmt: handle array len and default in array init
2020-05-13 16:11:52 +02:00
Alexander Medvednikov
db5036686b
checker: make `type is private` warning an errror
2020-05-13 14:21:52 +02:00
yuyi
b1511ce995
parser: optimize no main file process
2020-05-13 14:02:04 +02:00
Tanel Liiv
af334e320c
cgen: dereference in one place and fix
2020-05-13 01:01:34 +02:00
Alexander Medvednikov
3e6f7d3eb6
freetype: minor fixes
2020-05-13 00:50:46 +02:00
Alexander Medvednikov
7a5a4df4c6
checker: handle `println()`
2020-05-12 19:38:46 +02:00
yuyi
7837abf6b0
parser: optimize stmt()
2020-05-12 17:18:25 +02:00
yuyi
99b31d8241
parser: unified way to handle struct and enum name check
2020-05-12 13:39:32 +02:00
Alexander Medvednikov
712fd384ee
parser: fix eval not used in match
2020-05-12 00:26:39 +02:00
Alexander Medvednikov
27d3800cc3
parser: bring back "evaluated but not used"
2020-05-12 00:19:45 +02:00
Alexander Medvednikov
1c8e14c77c
vfmt: handle comments in const blocks
2020-05-12 00:09:59 +02:00
yuyi
dea2658a80
checker: minor optimization in infix_expr
2020-05-11 23:50:13 +02:00
Kris Cherven
d359a7aefb
cgen: fix a goto error
2020-05-11 23:49:08 +02:00
JalonSolov
649a0140fd
x64: fix NUL at end of strings, and length
2020-05-11 16:50:36 +02:00
Alexander Medvednikov
e9177faf17
checker: allow `*x = y` only inside unsafe blocks
2020-05-11 16:05:59 +02:00
Alexander Medvednikov
2618b4fbd3
Revert "tests: add more tests on interfaces "
...
This reverts commit 538662d99a
.
2020-05-11 15:19:55 +02:00
Alexander Medvednikov
aacc35db19
pref: do not enable globals by default
2020-05-11 15:19:47 +02:00
Sandro Martini
538662d99a
tests: add more tests on interfaces
2020-05-11 15:13:03 +02:00
kdmult
ea8fcb3981
cgen: fix nested conditional statements
2020-05-11 15:11:48 +02:00
Alexey
6f2dcd819f
parser: force visibility of interface methods
2020-05-11 15:10:26 +02:00
Alexander Medvednikov
828f9af64c
checker: fmt
2020-05-11 14:38:25 +02:00
Alexander Medvednikov
8a6820d1b7
checker: revert fmt for now
2020-05-11 14:32:41 +02:00
Alexander Medvednikov
ce03761375
parser: fix mut args with the new syntax; checker: fmt
2020-05-11 14:16:20 +02:00
joe-conigliaro
2a40665919
ast/checker: cast no longer needed & use auto deref
2020-05-11 20:02:28 +10:00
Kris Cherven
8bc0c31f29
parser: add error for variables, that are evaluated, but not used
2020-05-11 11:13:36 +03:00
Kris Cherven
3a3d00ac72
checker: prevent C error on const mutation
2020-05-11 11:09:58 +03:00
Ned Palacios
38277d1dac
cgen: fix gen_str_for_struc when called on a struct with a pointer field
2020-05-11 11:08:21 +03:00
joe-conigliaro
1b3cd7abe0
cgen: fix sum type assign/push from in match branch & type mod
2020-05-11 16:59:55 +10:00
yuyi
64ba59590e
cgen: fix multiple assign error
2020-05-11 09:45:11 +03:00
joe-conigliaro
74cc2b2a68
table: add function return type check
2020-05-11 14:47:39 +10:00
Hungry Blue Dev
e52d35bf16
math.fraction: improve documentation, remove unnecessary mut modifiers
2020-05-11 07:20:55 +03:00
yuyi
14bba54ddc
vrepl: fix array_init error
...
* optimize print conditions
2020-05-11 07:15:08 +03:00
Fabien Salathe
c9c956fc8a
flag: fix a comment with an example
2020-05-10 22:27:14 +02:00
Alexey
71c2b26103
checker: fix checking uninitialized refs
2020-05-10 22:26:47 +02:00
Enzo Baldisserri
b09fd66aa2
gen: fix interface pointers
2020-05-10 21:16:22 +02:00
Louis Schmieder
40aad27a67
pg: remove `pg.`
2020-05-10 21:16:03 +02:00
Delyan Angelov
7c5905164e
glm: remove unused variable (prevents compiling ui with -prod)
2020-05-10 19:59:26 +03:00
Delyan Angelov
1bf13f8a09
v version: do more accurate current git hash detection, when not on a branch
2020-05-10 18:56:19 +03:00
Alexander Medvednikov
a2d120b583
cgen: fix reassignment of optionals
2020-05-10 17:41:33 +02:00
eyelash
1722171adc
compiler: color only the relevant part of the source code in error messages
2020-05-10 17:24:29 +02:00
Louis Schmieder
3ec2608d6b
glm: matrix multiplication; docs: toc
2020-05-10 16:49:29 +02:00
eyelash
72dfe11fa5
scanner: add a colon to error messages ( #4818 )
2020-05-10 16:29:15 +02:00
eyelash
f396f70ae7
repl: fix newline in error messages
2020-05-10 16:26:56 +02:00
Sumeet Chhetri
8dc0c5a699
cgen: C++ compiler support - Part 1
2020-05-10 16:26:21 +02:00
Hungry Blue Dev
8aba3eaa07
math.fractions: refactor and add more tests
2020-05-10 16:25:33 +02:00
joe-conigliaro
a73660a4c3
checker/cgen: simplify assigning fn to var
2020-05-11 00:13:30 +10:00
yuyi
0606d26ba7
csv: fix field multiple lines error
2020-05-10 14:19:26 +02:00
eyelash
eabc72d4fe
compiler: print underlines in the same color as the error
2020-05-10 12:27:46 +02:00
Ned Palacios
5f0ad0f562
compiler: add output mode for errors and warnings, support for `-silent` flag
2020-05-10 12:26:57 +03:00
Ned Palacios
01de1b6375
parser: fix JSON encode function name on invocation
2020-05-10 10:30:35 +03:00