Delyan Angelov
ff42572e93
builder: show the C compiler output on -show-c-output, NOT on -showcc
2020-11-30 20:30:47 +02:00
Larpon
ed08d96932
builtin: remove old type prefixes, add a few missing documentations, add missing punctuation ( #7037 )
2020-11-30 18:51:00 +01:00
Delyan Angelov
b11d285680
v: support multiple paths in VMODULES env variable ( #7048 )
2020-11-30 18:31:37 +01:00
Alexander Medvednikov
376833aea7
builder: show tcc compiler error with -v and -showcc
2020-11-30 17:47:38 +01:00
Lukas Neubert
a98162118b
fmt: orm delete ( #7035 )
2020-11-30 14:02:36 +01:00
Uwe Krüger
a128ab4313
cgen: add support for shared maps ( #7042 )
2020-11-30 13:25:14 +01:00
Swastik Baranwal
e3fab7e076
parser: add an error for an invalid string prefix ( #7019 )
2020-11-30 10:58:00 +02:00
yuyi
39b46e95a0
gen: minor optimization in `type_to_fmt()` ( #7028 )
2020-11-30 09:35:55 +02:00
yuyi
f7cc3d3718
gen: minor cleanup in gen_expr_to_string() ( #7026 )
2020-11-30 09:16:50 +02:00
Delyan Angelov
aae5812337
os: cleanup os.find_abs_path_of_executable/1
2020-11-30 08:40:39 +02:00
Alexander Medvednikov
05eeb8aa53
token: remove old keyword "embed"
2020-11-30 03:11:40 +01:00
joe-conigliaro
ff63fb74d9
dont allow method on non-local types & no mod for arrays. closes #6971
2020-11-30 11:43:22 +11:00
ka-weihe
9367dcda10
all: fix remaining c warnings and add -Werror to CI ( #7021 )
2020-11-29 21:23:37 +02:00
spaceface777
4e6bc27b30
compiler: fix self compilation with cached modules on macOS ( #7023 )
2020-11-29 19:30:35 +01:00
Alexander Medvednikov
c7cefa9ce6
json: fix encoding pointers
2020-11-29 17:45:22 +01:00
Delyan Angelov
adeebad2a6
compiler: use thirdparty/tcc/tcc.exe by default, when no explicit -cc is given ( #6598 )
2020-11-29 16:18:49 +01:00
yuyi
0b96cd50e1
scanner: fix escape `\u` ( fix #6849 ) ( #7012 )
2020-11-29 17:01:40 +02:00
Ned Palacios
6c634086b0
json2: decode fn returns `?T`; add new tests ( #6933 )
2020-11-29 14:54:45 +01:00
Nick Treleaven
8f15af6adc
pref: add -m32, -m64 command-line options ( #7011 )
2020-11-29 14:53:49 +01:00
joe-conigliaro
91eca539d0
all: -usecache fixes and self compilation & some type cname optimisation ( #7015 )
2020-11-29 14:10:45 +01:00
Swastik Baranwal
3afa606154
vfmt: fix eating `c` in `c'foo'` ( #7009 )
...
* fmt: add formatting for cstrs
* fmt
2020-11-29 10:39:50 +02:00
Takahiro Yaota
49a083fe79
time: improve parse_iso8601 ( #7006 )
2020-11-29 10:38:14 +02:00
Larpon
1192dfdc8a
term.ui: document functions ( #6979 )
2020-11-29 08:32:04 +02:00
Delyan Angelov
a6f1667bce
checker: make `sym == typ` an error
2020-11-29 00:43:06 +02:00
yuyi
f336c2c5cc
scanner: fix error of backslash escaping x in ident_string( fix #6850 ) ( #6994 )
2020-11-29 00:39:45 +02:00
Daniel Däschle
32c027a0bf
parser: disallow ptr type as sum type variant ( #6996 )
2020-11-28 23:40:40 +02:00
Nick Treleaven
6da6a082c7
parser: fix showing error position for pratt.v ( #6997 )
2020-11-28 23:39:45 +02:00
Alexander Medvednikov
159abd4727
autofree: fix unused var error
2020-11-28 20:33:32 +01:00
Alexander Medvednikov
91007e87d2
autofree: remove old code
2020-11-28 20:26:32 +01:00
Alexander Medvednikov
cb3367d734
autofree: free_before_break() test
2020-11-28 20:23:54 +01:00
Delyan Angelov
321daede1d
cgen: fix a buggy comparison, add ability to do println(sym.debug())
2020-11-28 19:48:53 +02:00
Alexander Medvednikov
0114333d34
autofree: fix _
2020-11-28 16:45:08 +01:00
Swastik Baranwal
aadeb62bbf
cgen: add a _T_ prefix in the C names for generic fn instances; fixes #6927 ( #6999 )
2020-11-28 17:07:07 +02:00
Daniel Däschle
6e4dad9acf
parser: fix position of array init ( #6998 )
2020-11-28 17:05:14 +02:00
Alexander Medvednikov
ea04d23e1d
tests: valgrind: use -autofree without -experimental
2020-11-28 15:53:08 +01:00
Alexander Medvednikov
57ad943b92
autofree: free arrays on re-assignment
2020-11-28 15:21:53 +01:00
Alexander Medvednikov
ed39d151b7
V 0.1.30
2020-11-28 04:43:11 +01:00
Alexander Medvednikov
86b5f7ef5d
string: fix ustring.free()
2020-11-28 03:41:43 +01:00
Alexander Medvednikov
c3ed8bb5da
autofree: remove old code
2020-11-28 02:28:43 +01:00
Delyan Angelov
ac27a3ccee
parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b`
2020-11-27 23:09:14 +02:00
Daniel Däschle
18cf36a22c
parser: remove unnecessary match as code ( #6972 )
2020-11-27 22:25:08 +02:00
yuyi
64fa5e6383
szip: fix szip_test ( #6980 )
2020-11-27 21:20:43 +01:00
Alexander Medvednikov
fcd127ed87
autofree: make -experimental the default
2020-11-27 20:49:48 +01:00
Alexander Medvednikov
13948152b6
cmd/v: rename reuse-tmpc to keepc
2020-11-27 20:16:24 +01:00
Delyan Angelov
1891f55c72
builtin: add voidptr.vbytes(len) and byteptr.vbytes(len)
2020-11-27 18:18:46 +02:00
Swastik Baranwal
2473f65278
cgen: minor cleanup (use replace_each) ( #6978 )
2020-11-27 16:13:30 +01:00
spaceface777
bbea7fb91f
docs: document the `[required]` struct attribute ( #6956 )
2020-11-27 15:37:12 +02:00
Delyan Angelov
7cd9530006
docs: fix most of the examples (ensure they at least have a valid syntax)
2020-11-27 13:03:32 +02:00
Delyan Angelov
e6116c47be
scanner: guarantee an early exit when the parser/scanner is stuck
2020-11-27 12:44:39 +02:00
yuyi
636efb3c20
cgen: fix windows escape errors for comptime @ pseudo vars ( #6977 )
2020-11-27 11:16:57 +02:00
Daniel Däschle
ee2a5727fb
gen: fix assigning an anon fn to a struct field ( #6965 )
2020-11-27 11:15:48 +02:00
Delyan Angelov
cbe607baf2
vfmt: fix compilation warning
2020-11-27 10:40:56 +02:00
Alexander Medvednikov
9b0c96d792
scanner: allow \r after $
2020-11-27 03:27:34 +01:00
Alexander Medvednikov
c27818e247
all: remove remaining broken escape sequences
2020-11-27 03:17:19 +01:00
Daniel Däschle
966b95ca4e
parser: move mut in if/match to expr ( #6973 )
2020-11-27 03:08:42 +01:00
Alexander Medvednikov
62ee436944
all: remove broken escape sequences after $ in strings
2020-11-27 03:07:37 +01:00
Daniel Däschle
d71d9ad7c0
сgen: print generic structs ( #6967 )
2020-11-26 23:57:03 +01:00
spaceface777
6563535a3d
term.ui: simplify/fix the truecolor feature test ( #6963 )
2020-11-26 23:52:20 +01:00
Nick Treleaven
ea8adfdbf9
gen: more efficient `for in` with a map ( #6961 )
2020-11-26 23:22:14 +01:00
Alexander Medvednikov
5e59718970
fmt: handle $tmpl
2020-11-26 18:53:38 +01:00
Alexander Medvednikov
5efd393af2
all: make comptime templates usable outside of vweb via $tmpl
2020-11-26 18:40:35 +01:00
Ruofan XU
c6a8c3cad5
cgen: remove unneeded sumtype logic and add more tests ( #6959 )
2020-11-26 15:29:23 +01:00
Daniel Däschle
52b627feb3
checker: check filter, map and sort left type ( #6952 )
2020-11-26 11:28:54 +01:00
spaceface777
e03ae19372
term.ui: approximate colors into ansi if rgb isn't supported ( #6951 )
2020-11-26 00:28:57 +01:00
Takahiro Yaota
258f8f6af9
parser: report unused expression error in if and or blocks ( #6953 )
2020-11-26 00:28:41 +01:00
Larpon
2957541e48
pref: fix message on inferred run ( #6947 )
2020-11-25 21:44:26 +02:00
Daniel Däschle
8e2b7fe3d6
tests: cleanup sum type tests ( #6950 )
2020-11-25 20:40:29 +01:00
Delyan Angelov
fa126b950a
cgen: prevent `undefined symbol: tcc_backtrace` errors with tcc and `-shared -d no_backtrace`
2020-11-25 15:47:55 +02:00
Daniel Däschle
8446433bcf
parser: remove __type ( #6946 )
2020-11-25 14:27:15 +01:00
Delyan Angelov
35a0fe79f9
cgen: generate an unique sort comparator function for each .sort() call
2020-11-25 13:48:42 +02:00
Ekopalypse
a46eda7c44
builder: fix dll generation on Windows ( #6939 )
2020-11-25 12:18:58 +01:00
Daniel Däschle
7d6f97259f
all: refactor UnionSumType to SumType ( #6944 )
2020-11-25 13:09:40 +02:00
Leah Lundqvist
96b73acad7
jsgen: optional "or blocks" ( #6938 )
2020-11-24 22:52:23 +01:00
Alexander Medvednikov
98034e5504
http: make download_file() return an optional
2020-11-24 18:07:08 +01:00
Daniel Däschle
a042966082
all: remove old sumtype code ( #6937 )
2020-11-24 17:55:24 +01:00
Daniel Däschle
aa6303f0b2
all: use the new types with old syntax ( #6922 )
2020-11-24 13:58:29 +01:00
Lukas Neubert
8be9bdacd1
fmt: do not wrap real multiline comments into single line in arrays ( #6923 )
2020-11-24 12:55:39 +01:00
pancake
aa90625819
js: initial support for optional return unwrapping ( #6926 )
2020-11-24 12:54:26 +01:00
Daniel Däschle
789912238f
gen: generate typedef first on sum types ( #6930 )
2020-11-24 12:53:39 +01:00
Daniel Däschle
9fbf38c798
parser: fix generic structs from other modules ( #6921 )
2020-11-23 23:21:11 +01:00
Alexander Medvednikov
e0d64903f8
table: rename atypes.v to types.v now that the order of the files is irrelevant
2020-11-23 18:19:51 +01:00
Takahiro Yaota
07fae5adf6
io: add a test for read_all ( #6898 )
2020-11-23 16:17:39 +01:00
Nick Treleaven
380e3640e3
gen: add panic message when using '?' with `none` ( #6919 )
2020-11-23 16:16:38 +01:00
Daniel Däschle
96539e43b5
all: nested sum types ( #6913 )
2020-11-23 16:16:13 +01:00
Takahiro Yaota
2f9b7fe0f7
vfmt: fix error with `return // comment` ( #6914 )
2020-11-23 11:36:20 +02:00
Nick Treleaven
51c737669d
checker: check labelled break/continue is inside a matching `for` loop ( #6910 )
2020-11-22 20:51:07 +01:00
Alexander Medvednikov
a1827d7f98
autofree: handle array set/get
2020-11-22 20:48:23 +01:00
hirossan4049
67d5dfb315
gg: draw_rounded_rect() ( #6909 )
2020-11-22 20:13:40 +01:00
Alexander Medvednikov
311b5e8188
autofree: string.clone() fix
2020-11-22 13:45:12 +01:00
Alexander Medvednikov
65005fdae8
builtin: same fix for array.insert
2020-11-22 13:30:48 +01:00
Alexander Medvednikov
f8827c3fe5
builtin: clone the strings correctly in array.push
2020-11-22 13:22:42 +01:00
Alexander Medvednikov
ed7413ee51
autofree: handle SelectorExpr receivers
2020-11-21 23:19:04 +01:00
Daniel Däschle
22fdf76db5
gen: unwrap optional on if guard expr ( #6903 )
2020-11-21 22:40:05 +01:00
Alexander Medvednikov
2f50a9ea1f
utf: fix utf32_to_str
2020-11-21 22:37:16 +01:00
Alexander Medvednikov
9a51f4e3c2
autofree: builtin fixes
2020-11-21 22:33:31 +01:00
Alexander Medvednikov
2afb9b30e9
autofree: minor fixes; skip in consts
2020-11-21 19:07:47 +01:00
Alexander Medvednikov
ad940ff40e
autofree: free parent scope vars only before fn returns
2020-11-21 18:23:50 +01:00
Delyan Angelov
2228d75657
ci: fix formatting of comptime.v
2020-11-21 19:04:31 +02:00
Delyan Angelov
018bd6aac3
os: fix flaky test in process_test.v
2020-11-21 18:01:21 +02:00
Delyan Angelov
fa55c247a2
parser: add `-d print_vweb_template_expansions` to ease vweb template debugging
2020-11-21 17:59:02 +02:00
pancake
4b19a6e00d
js: fix code generation for `$if js` statements ( #6896 )
2020-11-21 15:40:37 +01:00
hirossan4049
54df7d1daf
gg: new draw_empty_rounded_rect() ( #6891 )
2020-11-21 15:40:02 +01:00
Tomas Hellström
155aa6dac5
x.websocket: fix autobahn tests for wss and wss close behavor ( #6901 )
2020-11-21 15:45:45 +02:00
Swastik Baranwal
650cdef8b4
checker: disallow array sum types without default field ( #6892 )
2020-11-21 00:07:25 +01:00
Daniel Däschle
838ad16296
all: refactor ast.Expr to use the new sum type implementation ( #6792 )
2020-11-21 00:05:57 +01:00
Alexander Medvednikov
ff1752dfff
gg: vfmt gg.v
2020-11-21 00:04:29 +01:00
Alexander Medvednikov
c1486925d5
autofree: enable free_before_return test
2020-11-21 00:00:27 +01:00
Alexander Medvednikov
99bdb87a01
all: remove #objc for good
2020-11-20 23:49:52 +01:00
Delyan Angelov
9673d40bb9
ci: fix failing windows test run_v_code_from_stdin_test.v (2)
2020-11-20 16:57:44 +02:00
Takahiro Yaota
f47c2468bb
net: fix socket.read_line with long lines #6842
2020-11-20 15:24:41 +01:00
Delyan Angelov
93d460f8fc
ci: fix failing windows tests for `v run -`
2020-11-20 16:14:04 +02:00
Lukas Neubert
5d76e85a23
vfmt: fix extra whitspace in fn type decl with type-only args ( #6888 )
2020-11-20 15:00:40 +01:00
Alexander Medvednikov
30ddb89e3c
gg: UI mode for much lower CPU usage in UI apps
2020-11-20 14:50:26 +01:00
Delyan Angelov
3c4b87bfec
checker: add check against `fn test_opt() ?{}`
2020-11-20 15:12:53 +02:00
Nick Treleaven
9871d24929
fmt: fix labelled break & continue ( #6889 )
2020-11-20 14:12:40 +01:00
Nick Treleaven
d5242e0bf5
gen: implement labelled break and continue (retry) ( #6887 )
2020-11-20 12:23:48 +01:00
Alexander Medvednikov
412e2a43e9
clipboard: fix clear() on macos
2020-11-20 12:00:16 +01:00
Ned Palacios
7c2c187743
vdoc: fix markdown and plaintext rendering ( #6882 )
2020-11-20 12:02:52 +02:00
Lukas Neubert
ef3e8d2c84
vfmt: handle comments after type declarations ( #6874 )
2020-11-20 11:51:50 +02:00
Delyan Angelov
d382db77ee
ci: fix failing clipboard_test.v on MacOS
2020-11-20 11:44:26 +02:00
Ned Palacios
b957c64905
scanner: store errors and warnings on silent mode ( #6883 )
2020-11-20 11:44:19 +02:00
Nicolas Sauzede
159932d59b
v: run code from stdin `echo println(2+2) | v run -`, with no repl limits ( #6884 )
2020-11-20 10:25:59 +02:00
Alexander Medvednikov
55a7c907ad
clipboard: fix set_text()
2020-11-20 03:28:28 +01:00
Alexander Medvednikov
4328233504
Revert "gen: implement labelled break and continue ( #6880 )"
...
This reverts commit e798326a1a
.
2020-11-20 02:51:35 +01:00
Delyan Angelov
1b8609c318
builder: fix for `v -o x.exe run examples/hello_world.v`
2020-11-20 02:38:24 +02:00
Lukas Neubert
a67873f6cf
jsgen: tests: ensure output deletion on fail ( #6875 )
2020-11-20 01:15:32 +01:00
Alexander Medvednikov
d50c919879
clipboard: fix get_text() on macos
2020-11-20 01:08:55 +01:00
Nick Treleaven
e798326a1a
gen: implement labelled break and continue ( #6880 )
2020-11-19 21:13:15 +01:00
Daniel Däschle
41ba942369
parser: smartcast mutable selector ( #6881 )
2020-11-19 21:05:10 +01:00
Delyan Angelov
2e57a1e1a6
sync: add vlib/sync/bench/many_writers_and_receivers_on_1_channel.v (run with --help)
2020-11-19 21:30:38 +02:00
Daniel Däschle
9feb010355
all: mutable smartcasts ( #6878 )
2020-11-19 17:28:46 +01:00
Delyan Angelov
48b117618d
builtin: support -d no_backtrace, to ease compiling V code on older distros easier
2020-11-19 17:58:33 +02:00
Larpon
f807fd973e
compile: infer source file if a binary by the same name exists in same dir #6877
2020-11-19 16:23:55 +01:00
Delyan Angelov
69bb0891c7
vfmt: fix ^A keep.vv test too
2020-11-19 16:25:52 +02:00
Delyan Angelov
92a75c80db
vfmt: trim ^A from embedded inline comments too
2020-11-19 15:32:51 +02:00
Daniel Däschle
e06756ef58
all: match multi aggregate for union sum types ( #6868 )
2020-11-18 20:52:00 +01:00
Lukas Neubert
df4165c7ee
docs_ci: check all md files except thirdparty ( #6855 )
2020-11-18 18:28:28 +01:00
pancake
d8f64f516b
js: fix codegen for multiline strings ( #6791 )
2020-11-18 18:23:44 +01:00
Anton Zavodchikov
6d99f0af50
x.websocket: expose log field ( #6866 )
2020-11-18 18:22:44 +01:00
Carlos Esquerdo Bernat
b4ae332e0c
web socket: fix wss
2020-11-18 18:21:49 +01:00
Daniel Däschle
ed874ffc5b
checker: fix sum type operator check ( #6815 )
2020-11-17 21:26:40 +01:00
Lukas Neubert
ee5ad2a653
parser: fix duplicated struct attrs on first field ( #6859 )
2020-11-17 21:25:54 +01:00
Swastik Baranwal
4415feb2df
checker: disallow string(bool) ( #6863 )
2020-11-17 21:23:17 +01:00
Larpon
fdc0cd4c03
term.ui: add dashed lines and rectangles ( #6848 )
2020-11-17 15:08:35 +01:00
Lukas Neubert
dbdcef5166
quote_path: also quote ampersands ( #6846 )
2020-11-16 19:26:44 +02:00
Delyan Angelov
d633261a99
os: add Process ( #6786 )
2020-11-16 17:32:50 +01:00
Alexander Medvednikov
8e473181ed
autofree: remove old logic
2020-11-16 17:31:34 +01:00
Alexander Medvednikov
68077b7dbf
autofree: handle early returns (part 1)
2020-11-16 17:26:54 +01:00
spaceface777
ac8a2ff12d
term.ui: feature-detect the SU spec ( #6844 )
2020-11-16 14:48:08 +02:00
Delyan Angelov
b3e19c7247
tests: restore skipped return_missing_comp_if.vv and return_missing_comp_if_nested.vv
2020-11-16 10:07:53 +02:00
Delyan Angelov
05933e783d
net: add back some lower level client/server tcp tests
2020-11-16 09:59:37 +02:00
Nick Treleaven
4882d338f0
checker: improve array literal element type mismatch error ( #6825 )
2020-11-16 00:41:24 +02:00
Emily Hudson
cd2a2cef25
vlib/net: add buffered IO, x.net -> net ( #6754 )
2020-11-15 22:54:47 +02:00
Daniel Däschle
20bec81678
checker: smartcast only if type is not mut ( #6841 )
2020-11-15 16:53:51 +02:00
Alexander Medvednikov
5fb4d77764
doc: use fixed-width symbol name at start of comment ( #6840 )
2020-11-15 15:16:41 +01:00
Alexander Medvednikov
ad1510afa0
gg: vfmt gg.v
2020-11-15 15:11:43 +01:00
Alexander Medvednikov
26785668c0
autofree: more tests; gg: fix draw_circle with hidpi
2020-11-15 15:09:44 +01:00
Nick Treleaven
40e7b0eeb3
doc: use fixed-width symbol name at start of comment
2020-11-15 12:58:58 +00:00
Anton Zavodchikov
fe3d2a9aba
json2: unescape characters ( #6836 )
2020-11-15 14:58:17 +02:00
Delyan Angelov
f995aa35ea
checker: add a check for `x := math.sin<f64>(0)`
2020-11-15 11:51:12 +02:00
spaceface777
1ead130eed
term.ui: render to the alternate buffer ( #6832 )
2020-11-14 21:05:22 +02:00
Nick Treleaven
01a5b263e5
encoding/csv: improve Reader docs ( #6828 )
2020-11-14 19:49:36 +02:00
Swastik Baranwal
00464ad988
builtin: add charptr.vstring() and charptr.vstring_with_len() ( #6830 )
2020-11-14 19:43:42 +02:00
Carlos Esquerdo Bernat
827fb62c29
examples/text_editor: edit multiple files ( #6827 )
2020-11-14 19:39:59 +02:00
Nick Treleaven
50163508f8
gen: implement type_name method for sum type instances ( #6802 )
2020-11-14 13:59:03 +02:00
Delyan Angelov
2dc9a45e06
vfmt: fix eating of `app.$method(vars)`; format vlib/vweb/vweb.v
2020-11-14 13:55:10 +02:00
Delyan Angelov
ba8cdb2977
vfmt: fix `$for method in App.methods {}` turning to App(methods)
2020-11-14 12:24:46 +02:00
Delyan Angelov
d6d202341a
table: add a helper `pub fn (t Type) debug() []string {}`
2020-11-14 11:39:58 +02:00
Delyan Angelov
df385799a2
checker: fix `invalid type (typ=0 idx=0)` when x,y := gfn(), and gfn returns (Abc,T)
2020-11-14 10:42:56 +02:00
Delyan Angelov
023cddb160
cgen: remove .replace('T', ...)
2020-11-14 10:36:59 +02:00
spaceface777
6b47c61fe4
term.ui: handle middle mouse button events and modifier keys ( #6821 )
2020-11-14 09:14:54 +02:00
Takahiro Yaota
5069be04a2
net: improve socket_test ( #6822 )
2020-11-14 08:23:22 +02:00
Delyan Angelov
01579957b8
builder: move -c right before the .c thirdparty file
2020-11-13 20:42:26 +02:00
Delyan Angelov
8cb1714255
builder: fix building sqlite3 on windows
2020-11-13 20:35:21 +02:00
spaceface777
c315218ed1
term.ui: allow setting the terminal title ( #6809 )
2020-11-13 15:30:47 +02:00
Delyan Angelov
7feb1742d3
cgen: skip deleted map entries in the auto generated .str() method
2020-11-13 13:37:11 +02:00
Delyan Angelov
a3404a38c6
term_drawing.v: support arrows, 1, 2 and space
2020-11-13 13:08:28 +02:00
Delyan Angelov
f6e54dc027
term.ui: improve Ctrl-Z + fg handling
2020-11-13 10:27:53 +02:00
Daniel Däschle
9c569246ef
cgen: fix typeof union sum type ( #6794 )
2020-11-12 12:27:54 +01:00
spaceface777
24f743ee12
term: add `term.ui` module (part 2) ( #6798 )
2020-11-12 12:12:51 +01:00
Luke Edwards
a525397022
checker: improve wording on error messages ( #6799 )
2020-11-11 23:11:27 +02:00
Delyan Angelov
f42a44abec
vfmt: fix `match x { 10 /* ... */ {} }` and `a := [1/* x */, /* y */2, 3]`
2020-11-11 22:59:43 +02:00
Delyan Angelov
e6cc967ac8
vfmt: small cleanup
2020-11-11 21:43:47 +02:00
Delyan Angelov
8197463b08
vfmt: fix `x := Repo<User,Permission>{}`
2020-11-11 21:41:04 +02:00
Daniel Däschle
43ce098043
cgen: fix default value init for union sum types ( #6795 )
2020-11-11 19:56:13 +02:00
Delyan Angelov
a4acb70c64
vfmt: remove rc4.v from known_failing_exceptions
2020-11-11 18:19:03 +02:00
Delyan Angelov
2759b80514
vfmt: remove aes.v and block_generic.v from known_failing_exceptions in `v test-fmt`
2020-11-11 18:16:45 +02:00
Delyan Angelov
dd1717af34
checker: add a missing return regression test for if branches too
2020-11-11 18:06:13 +02:00
Delyan Angelov
ebfd259333
vfmt: support `struct Repo <T, U> { }`
2020-11-11 17:50:03 +02:00
Delyan Angelov
7d472d887e
scanner: vfmt scanner.v
2020-11-11 17:25:58 +02:00
Delyan Angelov
8c241cb745
checker: check that fns with return values, and matches, do return
2020-11-11 17:23:57 +02:00
Daniel Däschle
6271798ce3
cgen: union sum types implementation ( #6745 )
2020-11-11 09:18:15 +01:00
spaceface777
bb91dc90a5
checker: fix `&` on pointers ( #6787 )
2020-11-10 13:12:21 +02:00
Nick Treleaven
baf2ff1a91
checker: unify invalid argument errors, use argument position ( #6785 )
2020-11-10 10:40:50 +01:00
Alexander Medvednikov
2254f41722
autofree: free all vars in parent scopes recursively
2020-11-09 15:56:28 +01:00
Nick Treleaven
c76e486765
parser: implement `T.name` for generic types ( #6783 )
2020-11-09 14:35:26 +01:00
Alexander Medvednikov
1c257abc23
autofree: simplify: merge tmp arg logic with scope vars
2020-11-09 14:24:46 +01:00
Alexander Medvednikov
507d724ee6
autofree: free before return tests
2020-11-09 11:54:45 +01:00
KJ Lawrence
7108f89b69
pg: fix exec & exec_param_many ( #6782 )
2020-11-09 08:22:16 +01:00
div72
b0053d8910
x.json2: change default number type to i64 ( #6773 )
2020-11-09 07:37:53 +01:00
Carlos Esquerdo Bernat
ba366b126f
ws: handle close on client quit ( #6776 )
2020-11-08 20:36:42 +02:00
spaceface777
3c83551dfe
parser: fix treating JS fn calls as type casts ( #6779 )
2020-11-08 20:33:55 +02:00
Tomas Hellström
68cfbd6d66
websocket: fix autobahn test to always use latest v( #6780 )
2020-11-08 17:46:06 +01:00
pancake
af5836202c
js: fix wrong filename and invalid backend selected when using -o .js ( #6777 )
2020-11-08 17:45:32 +01:00
pancake
2994e7150f
vweb: check function and route parameter count ( #6761 )
2020-11-08 09:14:24 +01:00
Delyan Angelov
6da8454b3b
builder: a small -usecache fix, when v is run in subfolders
2020-11-08 09:18:05 +02:00
Delyan Angelov
4b35495fbe
all: support VMODULES environment variable (defaulting to ~/.vmodules)
2020-11-08 08:07:17 +02:00
Delyan Angelov
0ba5544446
checker: add a check for `ptr = Abc{}`
2020-11-07 21:19:46 +02:00
Nick Treleaven
931882d720
checker: support ?T, &T generic return types ( #6772 )
2020-11-07 18:27:10 +02:00
Tomas Hellström
b47c23b73e
x.websocket: fix the uri port parsing problem. Make failures more informative ( #6775 )
2020-11-07 18:14:33 +02:00
Swastik Baranwal
6354fa031c
checker: add more checks for index_expr ( #6737 )
2020-11-07 14:55:05 +01:00
Nick Treleaven
125650c986
cgen: fix using brackets for match expression ( #6768 )
2020-11-07 14:47:27 +01:00
Alexander Medvednikov
0e8c7ca2e3
autofree: fix string reassignment
2020-11-07 04:00:45 +01:00
Nick Treleaven
62cae1ba00
parser: parse func<T>() when T is a map or array type ( #6765 )
2020-11-07 02:55:28 +01:00
spaceface777
1d706674f2
cgen: don't generate a default expr if a function ends with `return` ( #6766 )
2020-11-06 18:46:41 +02:00
Ned Palacios
6d8a7ced24
cgen: fix setting nested map elements fields ( #6744 )
2020-11-06 16:32:44 +02:00
spaceface777
a9e9554b11
all: fix most C warnings ( #6758 )
2020-11-06 16:26:59 +02:00
Delyan Angelov
98e8894d90
x.websocket: more informative errors
2020-11-06 16:10:22 +02:00
Alexander Medvednikov
3e5871ffb3
autofree: disable optional_return test for now
2020-11-06 10:30:27 +01:00
Alexander Medvednikov
212e6fe52c
autofree: do not run in `builtin`
2020-11-06 10:13:05 +01:00
Delyan Angelov
b14f779853
vweb: add a placeholder for checking route validity at startup
2020-11-05 22:59:11 +02:00
Delyan Angelov
d34c5b767b
vfmt: keep the source fn type alias names, instead of the expanded fn declarations
2020-11-05 20:21:37 +02:00
Delyan Angelov
26c2654632
parser: vfmt vlib/v/parser/struct.v
2020-11-05 19:55:20 +02:00
Delyan Angelov
953d102996
parser: prevent a segfault, when compiling cmd/tools/vtest-vet.v in PR 6754
2020-11-05 19:40:15 +02:00
Delyan Angelov
3f9b05a876
vfmt: skip {} for pure fn declarations (let the bodies hit the floor)
2020-11-05 18:59:36 +02:00
Delyan Angelov
e80487b35c
vfmt: support inline comments before fields in struct initializations
2020-11-05 18:49:52 +02:00
Delyan Angelov
4bf1c2fdcc
vfmt: support `match a { x...y {} }`
2020-11-05 18:35:14 +02:00
Delyan Angelov
35096cda3f
vfmt: support comments after interface methods
2020-11-05 18:23:45 +02:00
Larpon
4051ce869c
all: remove unused enum value and improve error message for `@` tokens in scanner ( #6751 )
2020-11-05 12:59:49 +02:00
Larpon
785bf40f67
all: remove comp time '@' expansion from scanner ( #6746 )
2020-11-05 10:12:32 +02:00
Alexander Medvednikov
1b1d17cfb5
os: basic proof of concept stdout capture; autofree: small fixes
2020-11-05 08:44:37 +01:00
Carlos Esquerdo Bernat
8157f3c6ab
websocket: get port of the uri ( #6750 )
2020-11-05 06:36:50 +01:00
Nick Treleaven
ca8d23acab
table: make Table.type_to_str generate proper function type, not fn name ( #6716 )
2020-11-05 06:34:56 +01:00
Daniel Däschle
a2fc19880a
parser: fixes or block position ( #6736 )
2020-11-04 16:02:01 +02:00
Delyan Angelov
9eb655e65c
all: add .pos fields to all AST nodes, to avoid wrong positions in error messages
2020-11-04 13:34:12 +02:00
Daniel Däschle
25912673a9
cgen: fix generic json bug ( #6731 )
2020-11-04 10:21:30 +02:00
Ekopalypse
cc4bb71f29
os: prevent unnecessary dependencies when importing `os` on windows ( #6741 )
2020-11-04 10:19:46 +02:00
Daniel Däschle
9d5be12517
gen: add prefix when printing type aliases ( #6701 )
2020-11-03 14:13:35 +01:00
Delyan Angelov
18f5ed671d
builder: fix -showcc with msvc
2020-11-03 12:37:04 +02:00
Delyan Angelov
aecdfb06e7
x.net: fix C fn redeclaration of C.inet_ntop (prevented compiling x.net and net together)
2020-11-03 10:06:47 +02:00
Delyan Angelov
204fd8be03
builder: improve the function redefinition detector
2020-11-03 10:00:06 +02:00
Delyan Angelov
2c3f695469
checker,parser: treat C.Struct fields as public by default
2020-11-03 09:35:44 +02:00
Delyan Angelov
ae241785bf
vfmt: fix `union {}` declarations
2020-11-03 00:35:12 +02:00
Lukas Neubert
4ccb219079
clipboard: fix windows warnings and run vfmt ( #6715 )
2020-11-02 23:00:29 +01:00
Nick Treleaven
788de9938a
cgen: fix typeof(expr).name for generic type, pointers, etc ( #6712 )
2020-11-02 22:59:48 +01:00
Delyan Angelov
2202ee5d66
tests: add tests for continue/break in last statement of an `or{}`
2020-11-02 12:54:45 +02:00
Delyan Angelov
4e760c703e
checker: disallow `opt_returning_string() or { ... 123 }` ( closes #6711 )
2020-11-02 05:29:37 +02:00
pancake
d040af4939
checker: improve error message for: `a := foo() or { println(err) }` ( #6710 )
2020-11-02 04:52:35 +02:00
Alexander Medvednikov
613d6c043b
autofree: fix the tests
2020-11-02 01:39:10 +01:00
Alexander Medvednikov
06e4c45350
tests: re-enable valgrind tests
2020-11-02 01:25:16 +01:00
Daniel Däschle
d5a421e3f5
checker: add alias cast type check ( closes #6705 ) ( #6709 )
2020-11-02 01:17:35 +01:00
Delyan Angelov
3c0f4c46fa
checker: add check preventing `if x:=non_optional() {}`
2020-11-02 01:58:07 +02:00
Alexander Medvednikov
a0bf796926
autofree: handle SelectorExpr and fix json
2020-11-02 00:57:45 +01:00
zacanger
f0c98fb5c2
doc: fix syntax in sqlite install instructions( #6707 )
2020-11-01 22:16:18 +01:00
sunnylcw
f934ca37c9
mysql: patch for Windows and FreeBSD ( #6703 )
2020-11-01 22:15:33 +01:00
Delyan Angelov
e2505479ee
cgen: encode newlines as \n in the assert meta information
2020-11-01 17:01:45 +02:00
Delyan Angelov
e72d9c0f88
parser: protect against infinite loops in -silent mode over invalid .v files
2020-11-01 14:02:32 +02:00
Daniel Däschle
9fdf04b7ff
cgen: make generics printable ( #6700 )
2020-10-31 19:43:06 +02:00
Delyan Angelov
db59585a51
sokol.gfx: fix C.sg_depth_stencil_state compilation with tcc
2020-10-31 14:15:05 +02:00
Ned Palacios
a2a0765eff
cgen: fix setting map elements' fields ( #6699 )
2020-10-31 13:00:04 +01:00
Alexander Medvednikov
b59c5fd82b
autofree: do not free tmp vars twice
2020-10-31 08:26:54 +01:00
Delyan Angelov
70cbf56655
cgen: show more informative errors, instead of a `invalid type (typ=0 idx=0)` verror panic
2020-10-30 20:26:08 +02:00
Delyan Angelov
ff93e8afee
builtin: eliminate the usage of _us32_eq for frequent builtin array operations
2020-10-30 14:11:07 +02:00
Alexander Medvednikov
791fda16d3
fmt: handle "it" in lambdas
2020-10-30 07:35:44 +01:00
Alexander Medvednikov
2c75b1397c
all: struct embedding
2020-10-30 07:09:26 +01:00
Alexander Medvednikov
dca3d13606
autofree: another lambda fix
2020-10-30 00:43:04 +01:00
Ned Palacios
ccc0cb23ed
doc: store source content, restructure module directory ( #6692 )
2020-10-29 17:21:37 +01:00
Ned Palacios
7b5a580c0c
util: split bom checking to a separate fn ( #6694 )
2020-10-29 17:21:08 +01:00
Delyan Angelov
be02ee97fb
sync: enable compilation with -autofree
2020-10-29 12:17:08 +02:00
pancake
367067dfff
pkgconfig: improve and fix the parser; move to v.pkgconfig ( #6695 )
2020-10-29 11:57:23 +02:00
Alexander Medvednikov
423044d4d6
autofree: skip lambda for now
2020-10-29 08:59:13 +01:00
Alexander Medvednikov
71dfec3c4d
autofree: generate unique names for each arg
2020-10-29 08:26:45 +01:00
Ned Palacios
ce7da85166
parser: make .parse() public ( #6693 )
2020-10-29 07:10:45 +01:00
Alexander Medvednikov
21002bf2de
autofree: fix re-assigning an optional
2020-10-29 07:06:58 +01:00
Alexander Medvednikov
f19ca6b411
autofree: simplify, use more scoping, fix expressions inside or blocks
2020-10-29 01:09:38 +01:00
Delyan Angelov
b7121786a5
table: run vfmt over atypes.v
2020-10-28 08:46:54 +02:00
Delyan Angelov
7fb739ebcf
table: make mut/not mut aggregate fields equal (for read only access)
2020-10-28 08:43:18 +02:00
Swastik Baranwal
0c987f433d
string: enable test for string escaping ( #6688 )
2020-10-27 15:25:44 +01:00
pancake
36c5eab799
all: add #pkgconfig directive using the new vlib modules ( #6673 )
2020-10-26 18:05:18 +01:00
Delyan Angelov
cf21c63183
v.vcache: extract v.vcache to a separate module, to test it and reuse it
2020-10-26 18:37:37 +02:00
Delyan Angelov
0c192cfd64
tests: fix warnings when doing `./v -W -progress -check-syntax test-fixed`
2020-10-26 14:41:57 +02:00
Delyan Angelov
535c4ed0d6
builder: return early in run_compiled_executable_and_exit, when -check-syntax is passed
2020-10-26 11:23:28 +02:00
Rolf Schmidt
3f5be0f4fc
mysql: fix unwrapped unsafe code of mysql lib ( #6680 ). ( #6681 )
2020-10-26 11:21:28 +02:00
Delyan Angelov
60cc8ac39c
vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex()
2020-10-25 09:22:31 +02:00
Delyan Angelov
5cb31c2c8f
builder: fix support for tcc on windows (openlibm.o)
2020-10-25 03:35:34 +03:00
Delyan Angelov
5f6259dde6
v: add VCACHE support for thirdparty object files and for `v build-module`
2020-10-25 03:09:07 +03:00
Delyan Angelov
89daec4e93
ci: run vfmt over compile.v and checker.v
2020-10-24 20:41:52 +03:00
Delyan Angelov
8b01146b90
compiler: implement -W and -reuse-tmpc
2020-10-24 20:34:50 +03:00
Alexander Medvednikov
42da37e900
autofree: fix if expressions
2020-10-24 19:06:31 +02:00
Delyan Angelov
23ee3018c3
tools: add `v test-vet`
2020-10-24 16:37:58 +03:00
Delyan Angelov
296a6095a4
builder: vfmt compile.v
2020-10-24 15:48:11 +03:00
Delyan Angelov
8f85396a31
builder: use unique .tmp.c and .tmp.c.rsp files, and rm them on successfull non debug builds.
2020-10-24 15:08:45 +03:00
Delyan Angelov
ac6fad6a63
checker: fix comptime custom defines usages, add tests
2020-10-24 15:06:51 +03:00
Larpon
e97d3af4b1
tcc: fix 'tcc: error: library `atomic` not found' on older Ubuntu distros ( #6672 )
2020-10-24 13:49:57 +03:00
Alexander Medvednikov
c2e9be5a45
cgen: use even more efficient array.delete_last()
2020-10-23 23:04:22 +02:00
Alexander Medvednikov
334497fdc0
cgen: use more efficient array.pop()
2020-10-23 22:52:50 +02:00
Alexander Medvednikov
3b3501cf09
autofree: if expression fixes
2020-10-23 22:50:22 +02:00
Delyan Angelov
8ffbcdc553
cgen: extract g.new_ctemp_var/2, g.new_ctemp_var_then_gen/2 and g.gen_ctemp_var from gen_assert_stmt
2020-10-22 19:48:06 +03:00
Delyan Angelov
66787b05d6
cgen: support most kinds of ast.PrefixExpr in gen_assert_metainfo
2020-10-22 19:25:07 +03:00
Delyan Angelov
f7698ea160
v symlink: fix windows PATH setting (cmd.exe needs C: not c:)
2020-10-22 17:31:37 +03:00
Alexander Medvednikov
66b8462d7a
autofree: handle method chains
2020-10-22 03:51:28 +02:00
Delyan Angelov
ab137e4164
cgen: print results of failed callexprs in `assert fn() == fn2()` ( #6665 )
2020-10-21 21:58:40 +02:00
Alexander Medvednikov
6d11caf784
autofree: string.replace() test
2020-10-21 19:44:31 +02:00
Swastik Baranwal
019e3b2f4a
checker: add error for ast.PrefixExpr on the left side of decl_assign ( #6660 )
2020-10-21 17:37:30 +02:00
Delyan Angelov
d67e177733
ci: run `v vet` over cmd/tools and cmd/v too
2020-10-21 15:26:29 +03:00
Delyan Angelov
9322e91d1b
v test-fmt: add 1 sec sleep before rebuilding vfmt, to avoid its parallel recompilation afterwards
2020-10-21 15:20:07 +03:00
Delyan Angelov
87f659a0dc
ci: fix should_recompile_tool/2
2020-10-21 15:07:57 +03:00
Delyan Angelov
1aa6c125d9
ci: fix `v self`
2020-10-21 13:43:18 +03:00
Delyan Angelov
02db94c4bc
v test-fmt: reuse v.util.should_recompile_tool/2, extracted from v.util.launch_tool/3
2020-10-21 12:54:10 +03:00
Delyan Angelov
dab66593fc
vlib: run vfmt over vlib files, so that `v doc -m vlib/` can run without warnings
2020-10-21 12:54:10 +03:00
Ned Palacios
5b1ab3b0bb
vdoc: use maps, enum-based categorization; fixes ( #6659 )
2020-10-21 11:26:33 +03:00
Delyan Angelov
f3732b730a
term: replace assert with panic to enable build-module for it too
2020-10-21 08:49:07 +03:00
Enzo
21db4b338b
parser: clean error when nesting `unsafe` ( #6656 )
2020-10-20 22:57:24 +03:00
Delyan Angelov
5c93f942be
docs,tests: add project_with_c_code_2 (passing structs from C to V to C)
2020-10-20 17:59:48 +03:00
Delyan Angelov
0e55534c6e
cgen: fix spurious autoref bug, for struct init of a &C.type field, with a byteptr value
2020-10-20 16:28:33 +03:00
Alexey
74ebce6b1f
vdoc: fix generating documentation for 3rd-party modules ( #6651 )
2020-10-20 02:52:56 +02:00
Lukas Neubert
f37e936321
pg, sqlite, mysql: run vfmt ( #6650 )
2020-10-19 20:11:04 +02:00
Alexander Medvednikov
37d6503437
parser: do not allow fn consts
2020-10-19 13:48:39 +02:00
Delyan Angelov
0d31b39f11
cgen: improve error message for <inttypes.h>
2020-10-19 12:44:53 +03:00
Delyan Angelov
d89986dd5e
cgen: use a guarded include for <inttypes.h> too
2020-10-19 12:18:22 +03:00
Delyan Angelov
92d9569d5d
checker: fix #include with @VROOT
2020-10-18 22:31:21 +03:00
Alexander Medvednikov
396dca7f48
checker: handle bad `$if` values
2020-10-18 21:22:37 +02:00
Alexander Medvednikov
30214a7700
Revert "cgen: enable new if expression implementation everywhere"
...
This reverts commit 958577b98b
.
2020-10-18 20:19:52 +02:00
Alexander Medvednikov
958577b98b
cgen: enable new if expression implementation everywhere
2020-10-18 20:14:58 +02:00
Delyan Angelov
9cf5c9ac43
tests: simplify print mode logic
2020-10-18 20:49:25 +03:00
Delyan Angelov
2440413310
tests: turn off live_test.v on macos for now (due to frequent false positives)
2020-10-18 19:45:49 +03:00
Delyan Angelov
7bc94fff9a
tests: implement compact progress mode (the old one is available with -expand)
2020-10-18 19:27:29 +03:00
Alexander Medvednikov
8a68714095
cgen: new experimental simple if expression implementation
2020-10-18 15:55:18 +02:00
Delyan Angelov
2f149e6984
vfmt: fix merged param warnings in sokol's particles example and vlib/x/net/udp.v
2020-10-18 13:45:13 +03:00
Delyan Angelov
44753e62ab
builder: enable `v run x_test.v` to allow universal make/compile commands in vim/emacs
2020-10-18 10:34:40 +03:00
Delyan Angelov
8b2e704741
examples: make `v -prod build-examples` pass without warnings/errors
2020-10-18 09:48:13 +03:00
Delyan Angelov
dd96ba0d24
vfmt: fix `type TwoSameArgs = fn (i int, j int) string` formatting
2020-10-18 08:54:29 +03:00
Delyan Angelov
5c4ba3474b
vfmt: fix `init_fn gg.FNCb = voidptr(0)` when vfmt-ing gg.v
2020-10-18 08:42:08 +03:00
Alexander Medvednikov
55536bb364
autofree: handle more statements
2020-10-18 00:48:06 +02:00
Swastik Baranwal
acc85be5ae
checker: disallow type casting to `none` ( #6635 )
2020-10-17 20:02:30 +03:00
Delyan Angelov
9309a07438
net.openssl: update custom missing headers message
2020-10-17 19:30:50 +03:00
Lukas Neubert
dea8662d6b
cli: show help for empty root command ( #6636 )
2020-10-17 19:06:27 +03:00
Delyan Angelov
3c2202572b
cgen: produce cleaner error on missing C headers (with optional explanation) ( #6637 )
...
Implements support for `#include <openssl/rand.h> # Please install OpenSSL`.
2020-10-17 18:27:06 +03:00
Delyan Angelov
aad122334b
vlib: fix warnings due to the vfmt change
2020-10-17 16:26:56 +03:00
Delyan Angelov
8d88b73512
parser: fix formatting
2020-10-16 17:47:23 +03:00
Delyan Angelov
140166e1cd
interpolation: support '' (rounding like in C)
2020-10-16 17:28:11 +03:00
Delyan Angelov
11ee68e799
cgen: fix an interface index generation bug
2020-10-16 15:22:25 +03:00
Delyan Angelov
eab0974e7d
net: allow more accurate profiling, using `res := C.xxx return res` instead of `return C.xxx`
2020-10-16 00:43:55 +03:00
Delyan Angelov
6cea20e427
tests: fix warnings in live_test.v
2020-10-15 23:15:00 +03:00
Enzo
b083f4014b
fmt: fix multiple things and format most of the compiler ( #6631 )
...
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Delyan Angelov
d261844da0
vweb: fix warnings about `fn f(x, y Type)`
2020-10-15 22:04:42 +03:00
Nick Treleaven
3c336b566d
checker: add check_expected() which returns an optional error ( #6623 )
2020-10-15 17:30:36 +02:00
Alexander Medvednikov
0dfd51408e
autofree: use scopes to avoid dups
2020-10-15 16:26:59 +02:00
Daniel Däschle
df82ef6bc7
base64: encode_url ( #6622 )
2020-10-15 16:04:06 +02:00
Delyan Angelov
31ef921ef2
ci: fix warnings/errors due to the vfmt change
2020-10-15 16:17:52 +03:00
Delyan Angelov
50a2b033b7
ci: fix failing tests on windows too
2020-10-15 15:54:44 +03:00
Delyan Angelov
5d4cce3e95
ci: fix failing tests
2020-10-15 15:42:16 +03:00
Alexander Medvednikov
8b13f3b53f
fmt: fix tests
2020-10-15 12:45:34 +02:00
Alexander Medvednikov
3d4ab7de1e
checker: update tests
2020-10-15 12:39:32 +02:00
Alexander Medvednikov
7da1afa140
all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests
2020-10-15 12:32:28 +02:00
Alexander Medvednikov
982056894e
fmt: use `f(x int, y int)` instead of `f(x, y int)`
2020-10-15 12:00:46 +02:00
Swastik Baranwal
314fae7446
checker: add more checks for hash_stmt ( #6615 )
2020-10-15 11:58:01 +03:00
Delyan Angelov
44a42b7273
ci: fix parser.v formatting
2020-10-15 11:41:43 +03:00
Delyan Angelov
6326b6d58e
parser: add helper method p.trace/2
2020-10-15 11:09:19 +03:00
JalonSolov
a4cc1ab7e3
all: cleanup more match statements ( #6616 )
2020-10-15 08:08:27 +03:00
Delyan Angelov
3795aaab5c
v test-fmt: reformat some skipped files, comment on the remaining ones
2020-10-15 00:39:09 +03:00
Delyan Angelov
46c5a2c8fc
v test-fmt: fix some embedded comments in expressions
2020-10-14 22:52:33 +03:00
Delyan Angelov
c33a748344
vfmt: handle more comments in interface/struct init/match branches
2020-10-14 22:52:33 +03:00
Alexander Medvednikov
6ad5ecf569
table: add "please create a gh issue" to the "compiler bug" error
2020-10-14 21:09:10 +02:00
Delyan Angelov
3c48a6e4ce
tests: rename _test.v files with dup names (temp workaround for highly parallel testing)
2020-10-14 18:25:26 +03:00
Delyan Angelov
d1e52620c7
crypto.hmac: implement hmac.equal/2 too
2020-10-14 17:21:48 +03:00
Alexander Medvednikov
9355c60b4d
cgen: fix for mut val and enable the test
2020-10-14 13:34:49 +02:00
Alexander Medvednikov
25947a7b23
autofree: handle args in optional returns
2020-10-14 13:23:58 +02:00
Alexander Medvednikov
ea09bd5e45
checker/fmt: `for mut val` fixes
2020-10-14 12:50:19 +02:00
Ekopalypse
ed7e306adc
crypto: add hmac module ( #6614 )
2020-10-14 12:25:58 +02:00
Delyan Angelov
ee0baf62ad
vdoc: fix for `v doc log`
2020-10-13 18:11:57 +03:00
Alexander Medvednikov
194c2c926e
doc: use the new table.type_to_str
2020-10-13 16:46:56 +02:00
Alexander Medvednikov
a07f31feae
all: `for mut val in vals {` (part 1)
2020-10-13 16:27:30 +02:00
Delyan Angelov
d316f78f94
vfmt: remove the buggy f.type_to_str, use f.table.type_to_str from now on
2020-10-13 16:17:02 +03:00
Delyan Angelov
1123f4fcc9
vfmt: fix deep nested map types, using f.table.type_to_str
2020-10-13 16:08:25 +03:00
Nick Treleaven
78bcda14c4
checker: infer T from parameter of type `[]T` ( #6611 )
2020-10-13 15:15:25 +03:00
Delyan Angelov
28dea17065
ci: prevent Periodic failure, ensure VSMTP_TEST_USER/VSMTP_TEST_PASS are set in smtp_test.v
2020-10-13 09:22:28 +03:00
JalonSolov
57d705e265
ast: minor code cleanup ( #6608 )
2020-10-12 23:11:51 +02:00
Enzo
da7d531f8f
fmt: refactor `type_to_str` ( #6607 )
2020-10-12 18:41:42 +03:00
Enzo
93bb7564dc
fmt: fix multiple problems with types ( #6603 )
2020-10-12 09:27:55 +03:00
scurty-labs
5e86b40469
gg: update draw_circle/arc x, y to f32 ( #6595 )
2020-10-11 20:36:18 +02:00
Delyan Angelov
62f6e65509
repl: fix `reset`; make `echo "print(2.0 * 3.14159)" | ./v` print only the result
2020-10-11 10:50:24 +03:00
Delyan Angelov
c7e0a27e0d
ci: fix v fmt test, by formatting cgen.v and atypes.v
2020-10-11 10:00:53 +03:00
Delyan Angelov
604b28b1c5
cgen: fix for `type FdfFn = fn(...) (x,y)`
2020-10-11 09:53:35 +03:00
Nick Treleaven
b677ad9ca5
checker: fix panic on match expression without results ( #6597 )
2020-10-10 15:42:40 +02:00
Enzo
6038264a4c
gen: fix slicing mutable arguments ( #6596 )
2020-10-10 12:03:23 +02:00
Alexander Medvednikov
d8d80fbf42
gg: add a missing math import and vfmt
2020-10-10 10:37:17 +02:00
Alexander Medvednikov
1332bba7af
autofree: wrap up optionals
2020-10-10 10:34:51 +02:00
scurty-labs
b2fdd7fbaf
gg: add draw_circle and draw_arc ( #6594 )
2020-10-10 10:26:08 +02:00
Xavier B
d56072eb53
vweb: fix/remove todos from assets tests ( #6593 )
2020-10-10 00:54:46 +02:00
Delyan Angelov
e862fad917
parser: support `mut static x := y` in -translated mode
2020-10-09 22:24:21 +03:00
Justin Jones
04d3ca7dbe
http: fix status codes ( #6590 )
2020-10-09 18:33:16 +03:00
Nick Treleaven
36706126fd
checker - improve error for `as` casting on non-sum type ( #6587 )
2020-10-09 16:12:12 +02:00
Ned Palacios
fc375a40f8
x.json2: add fast_raw_decode; support for i64 and f32 ( #6586 )
2020-10-09 16:11:55 +02:00
Nick Treleaven
f734f8167b
checker: improve error message for match branch type mismatch ( #6588 )
2020-10-09 16:11:11 +02:00
Alexander Medvednikov
c463c26983
autofree: optionals fix
2020-10-09 01:13:31 +02:00
Nick Treleaven
92630a2821
checker: error if assigning to a function ( #6581 )
2020-10-09 00:48:39 +02:00
Alexander Medvednikov
7d65e4cb10
autofree: fix and test var declarations
2020-10-08 17:10:20 +02:00
Alexander Medvednikov
1123b8259a
time: vfmt time/parse.v
2020-10-08 16:59:43 +02:00
Delyan Angelov
c3626bf2e6
vfmt: prepare for using .source_name in type_to_str
2020-10-08 14:26:12 +03:00
Swastik Baranwal
aea52af9ae
checker: add is_mut check for disallowing taking address of map's key and array's element outside unsafe ( #6573 )
2020-10-08 09:37:18 +03:00
Delyan Angelov
efce448b23
parser: always treat MainLetter(x) as a cast, even when the type is not yet known
2020-10-07 15:50:54 +03:00
Delyan Angelov
d46d607334
backporting: remove C typedef redefinitions of map_int/map_string/array_byte/array_string
2020-10-07 11:32:50 +03:00
Delyan Angelov
317a9bae5f
backporting: remove redefinition of strconv__Float64u
2020-10-07 11:06:52 +03:00
Delyan Angelov
3d0f4fd756
backporting: cleanup Makefile, use -std=gnu99 by default, honor CFLAGS and LDFLAGS (CentOS 6.9)
2020-10-07 07:05:59 +00:00
shnorbluk
b940dc4f8a
cli: help displayed when a Command has no execute function ( fix #6530 ) ( #6567 )
2020-10-07 05:39:13 +02:00
Delyan Angelov
ce302c29e4
builtin: support also [abc,def].sort(b>a)
2020-10-06 21:33:15 +03:00
Nick Treleaven
f7decfe399
checker: infer generic type T from matching fn call argument ( #6298 )
2020-10-06 15:34:02 +02:00
Delyan Angelov
8e5067421f
vet: accumulate the collected errors manually (fixes CI)
2020-10-06 10:02:35 +03:00
Delyan Angelov
70826914a7
ci: fix mut_args_warning.vv error
2020-10-06 09:38:07 +03:00
Alexander Medvednikov
256a572cbe
vet: fix vet_errors
2020-10-06 07:07:50 +02:00
Alexander Medvednikov
ed15b40529
parser: do not allow array references + explain why
2020-10-06 06:53:48 +02:00
Alexander Medvednikov
63c9b88e7f
vet: remove unnecessary &[]string
2020-10-06 06:43:28 +02:00
Alexander Medvednikov
a51c445df8
ci: vfmt -verify more important files
2020-10-06 06:32:39 +02:00
Alexander Medvednikov
d2d3289a2a
all: mark pref.Preferences field as immutable
2020-10-06 06:24:50 +02:00
Delyan Angelov
06a02c41c3
tests: reduce probability of locks during macos runs of live_test.v
2020-10-05 21:20:42 +03:00
Swastik Baranwal
d77669da80
test: add tests for disallowing map/array get element/key address ( #6568 )
2020-10-05 18:40:51 +03:00
kalapalo
4b410534dd
cgen: add C fn memfreedup to cheaders.v ( #6563 )
2020-10-05 13:14:41 +02:00
Swastik Baranwal
5f07b255bd
checker: disallow address of array and map index outside unsafe ( #6557 )
2020-10-05 13:08:30 +02:00
Ned Palacios
2b1a5d7a56
vdoc: move local scope-based doc generation to its own function ( #6565 )
2020-10-05 07:59:17 +02:00
Enzo
35a83464d0
gen: separate sumtype from classic match ( #6547 )
2020-10-04 19:50:23 +02:00
Ekopalypse
2622070f14
os: ensure that setenv creates the key on windows ( #6560 )
2020-10-04 19:43:28 +02:00
Delyan Angelov
0c174104fc
checker: allow &=,|=,^=,%= on an integer number type aliases
2020-10-04 15:29:09 +03:00
Delyan Angelov
628b136e85
checker: allow casting from floats/enums to byte
2020-10-04 14:46:24 +03:00
Marcin
aa81ebb600
scanner: fix double quotes escape ( #6474 )
2020-10-04 10:34:04 +02:00
Enzo
fd88bfbac8
fmt: fix formatting of anon args ( #6545 )
2020-10-04 06:32:47 +02:00
Leonardo Cecchi
51987e17df
pg: make `exec`, `q_int` and `q_strings` return an optional ( #6554 )
2020-10-04 06:31:47 +02:00
Enzo
c84848c417
fmt: fix formatting enum with attributes ( #6551 )
2020-10-03 21:33:02 +03:00
vmcrash
c5e46c9e55
atoi.v: add common_parse_uint2 with error code return values ( #6550 )
2020-10-03 20:57:37 +03:00
Henrixounez
c324169af0
all: remove intermediate handling for both global definition syntaxes ( #6546 )
2020-10-03 15:41:45 +02:00
Swastik Baranwal
7e13518cc2
parser: disallow match expr at certain places ( #6490 )
2020-10-03 16:30:58 +03:00
Henrixounez
a9da4dd437
parser: fix indentation to tabs ( #6548 )
2020-10-03 14:20:41 +02:00
Delyan Angelov
de77f0ba0f
vfmt: make vlib/v/table/table.v vfmt-able
2020-10-03 12:57:21 +03:00
Enzo
677b0ba2d2
gen: access fields in multi-type sumtype match ( #6541 )
2020-10-03 11:19:43 +02:00
Delyan Angelov
7b034a54e3
vfmt: make vlib/v/table/atypes.v vfmt-able
2020-10-03 11:48:12 +03:00
Henrixounez
c9574ae7d7
syntax: new global variable declaration syntax ( #6540 )
2020-10-03 07:03:44 +02:00
Leonardo Cecchi
8ac0bd44bd
pg: avoid leaking a PGconn on connection errors ( #6543 )
2020-10-03 07:03:11 +02:00
Swastik Baranwal
c8a884f57f
checker: fix typos in chan ( #6539 )
2020-10-03 06:59:30 +02:00
kalapalo
eefe067c27
cgen: fix `as` cast when sumtype is the result of a function call ( #6537 )
2020-10-03 05:04:15 +02:00
Daniel Däschle
2204bad7cf
gen: removes space on struct printing ( #6535 )
2020-10-02 13:06:02 +02:00
Delyan Angelov
70c87137a9
live_test.v: wait 5 times more on macos
2020-10-02 11:38:49 +03:00
Nick Treleaven
7c86b03505
checker: don't error if last statement in match branch produces a value ( #6523 )
2020-10-02 09:33:04 +02:00
Daniel Däschle
8e8e808fc9
gen: fix sumtype custom str ( #6534 )
2020-10-02 09:32:07 +02:00
Ekopalypse
1a7ac5e382
builtin: VectoredExceptionHandler cast on x86 ( #6525 )
2020-10-02 05:17:33 +02:00
Nicolas Sauzede
c825275f7f
pref: fix whitespace in compiler message ( #6529 )
2020-10-02 05:16:16 +02:00
Henrixounez
8152b86652
checker: detect correct len expression for multidimensional array init ( #6521 )
2020-10-02 03:12:33 +02:00
Nick Treleaven
7e720a1253
pref: do not check arguments after 'run' command ( #6524 )
2020-10-01 23:30:39 +03:00
Henrixounez
a57e01fee7
parser: dont allow single letter enums ( #6526 )
2020-10-01 23:29:49 +03:00
spaceface777
f55f2fb9d1
gen: optimize `str == ''` to `str.len == 0` for performance ( #6527 )
2020-10-01 23:28:44 +03:00
Delyan Angelov
ac384db71f
builder: cleanup .timing_message/2
2020-10-01 18:21:34 +03:00
Delyan Angelov
a0e4be04be
compiler: print more suggestions, without a good specific match
2020-10-01 17:27:31 +03:00
Henrixounez
0f1ed1ca09
scanner: add an error for unfinished string literals ( #6519 )
2020-10-01 16:40:59 +03:00
Delyan Angelov
11b16a63cf
checker: add a suggestion for misspelled struct field name errors
2020-10-01 15:36:47 +03:00
Alexander Medvednikov
f534edc371
doc: replace os.base_dir with os.dir
2020-10-01 01:30:22 +02:00
Alexander Medvednikov
4879661f5a
os: remove base_dir(); dir() and base() fixes
2020-10-01 01:25:52 +02:00
Enzo
324d547cdb
parser: allow multiple types in match branch ( #6505 )
2020-10-01 01:07:36 +02:00
Nick Treleaven
18be7b115a
checker: disallow most statements in if/match expression branches ( #6509 )
2020-09-30 16:06:22 +02:00
Lukas Neubert
3a8be4d8d9
os: home_dir() remove trailing slash ( #6512 )
2020-09-30 16:02:54 +02:00
Lukas Neubert
76e373a5f4
v help: fix newline ( #6510 )
2020-09-30 15:57:22 +03:00
Larpon
4cd5153b32
android: enable autofree ( #6503 )
2020-09-30 07:40:05 +02:00
Alexander Medvednikov
ae7689f739
autofree: simplify, clean up, and fix complex arg exprs
2020-09-30 07:27:24 +02:00
Daniel Däschle
c38a050125
cgen: fix array and map printing ( #6508 )
2020-09-30 01:26:27 +02:00
Delyan Angelov
dc954bbb03
all: use `macos` consistently in os.user_os and the compiler
2020-09-29 22:32:20 +03:00
JalonSolov
2fd6c05445
fonts: fix so it does not try for RobotoMonoMono.ttf ( #6507 )
2020-09-29 13:20:37 +03:00
Ned Palacios
1aec041371
json: fix encode/decode support for generic structs ( #6489 )
2020-09-29 03:15:00 +02:00
Nick Treleaven
05dcdfd267
pref: error if unknown argument passed to `v` ( #6487 )
2020-09-29 03:13:54 +02:00
Nick Treleaven
9f33b33803
parser: warn about ambiguous infix/prefix op token ( #6491 )
2020-09-29 03:13:10 +02:00
Alexander Medvednikov
9e31335744
pref: remove obsolete flags
2020-09-29 02:54:05 +02:00
Daniel Däschle
06cade6c31
all: change .ReturnType and .Type to .return_type and .typ ( #6494 )
2020-09-28 06:13:38 +02:00
Delyan Angelov
f9ce7f3542
vfmt: fix formatting for [4][4]int static arrays
2020-09-27 22:46:33 +03:00
Delyan Angelov
cbd7c7d8c6
tests: support VTEST_ONLY in vlib/v/fmt/fmt_keep_test.v too
2020-09-27 22:01:46 +03:00
Delyan Angelov
cfdf66c129
ci: run vfmt over checker.v
2020-09-27 17:08:28 +03:00
Delyan Angelov
220f3cc2b9
bare: update Signo enumeration
2020-09-27 16:48:25 +03:00
Delyan Angelov
a6d525eb92
ci: fix `is not a variable and cannot be locked` failing tests
2020-09-27 16:32:46 +03:00
Emily Hudson
3a869c726b
builtin: fix definition of VectoredExceptionHandler ( #6495 )
2020-09-27 15:56:30 +03:00
Delyan Angelov
03258db26d
ci: other mut vlib test fixes
2020-09-27 11:18:55 +03:00
Delyan Angelov
aa889b0edc
ci: fix vlib/x/websocket tests
2020-09-27 11:10:56 +03:00
Delyan Angelov
7c6695317c
Revert "ci: fix building v from vc"
...
This reverts commit b3f503e0ce
.
2020-09-27 10:36:26 +03:00
Delyan Angelov
b3f503e0ce
ci: fix building v from vc
2020-09-27 10:34:11 +03:00
Alexander Medvednikov
c5dc792c5d
fmt: args => params
2020-09-27 03:46:15 +02:00
Alexander Medvednikov
3d5292b63f
tcp/udp: fix mutability
2020-09-27 03:40:59 +02:00
Alexander Medvednikov
fca344d1fb
all: fn args => params
2020-09-27 03:32:56 +02:00
Alexander Medvednikov
e2c7126d11
checker: verify mutability of method args
2020-09-27 03:14:24 +02:00
Delyan Angelov
af37c7ac6b
gg: prevent messages about missing font variants without `-d debug_font`
2020-09-26 09:36:46 +03:00
Daniel Däschle
d782de5b00
gen: struct str fixes ( #6483 )
2020-09-25 23:12:33 +02:00
Delyan Angelov
b999d01de7
runtime: use GetCurrentProcessorNumber for runtime.nr_cpus()
2020-09-25 22:02:29 +03:00
Nick Treleaven
fbae0a7274
checker: warn if fn looks like a test fn but filename doesn't end in `_test.v` ( #6469 )
2020-09-25 19:26:11 +03:00
spaceface777
b44620d065
time: use linux high-precision timers on Android as well ( #6476 )
2020-09-25 18:02:02 +03:00
spaceface777
aa1d5fcbdd
flag: fix panic if flag value was not provided ( #6478 )
2020-09-25 16:31:35 +03:00
spaceface777
ae48b709ed
gg: don't call `os.is_file()` on Android (the font is part of the APK there) ( #6475 )
2020-09-25 13:06:20 +03:00
Daniel Däschle
abc98c273c
parser: require assign on type alias ( #6477 )
2020-09-25 12:02:32 +02:00
Lukas Neubert
2ea94d621f
gg: fix loading variants of many fonts in new_ft() ( #6468 )
2020-09-25 11:52:57 +02:00
spaceface777
0b95d72354
checker: comp. if branch logic fix ( #6473 )
2020-09-25 12:48:27 +03:00
Daniel Däschle
90d1a689db
gen: fix str gen for pointers in structs ( #6462 )
2020-09-24 21:14:16 +02:00
Daniel Däschle
e384dea8ac
checker: add error for amp on literals ( #6467 )
2020-09-24 21:13:46 +02:00
Alexander Medvednikov
47a62b12d4
autofree: advanced expr test
2020-09-24 19:22:16 +02:00
Alexander Medvednikov
403cd0d915
Revert "gen: scape string function in gen/str.v ( #6452 )"
...
This reverts commit 60fbcc37fc
.
2020-09-24 18:19:18 +02:00
Marcin
60fbcc37fc
gen: scape string function in gen/str.v ( #6452 )
2020-09-24 18:18:10 +02:00
Nick Treleaven
be2ac0ba89
fmt: fix writing ConcatExpr ( #6466 )
2020-09-24 18:04:39 +02:00
Delyan Angelov
dbce01792c
gg: try 3 different fonts in system_font_path on MacOS
2020-09-24 17:09:08 +03:00
Delyan Angelov
1f21bc4b49
gg: bugfix on missing font file, remove last empty line in `v doctor`
2020-09-24 16:53:06 +03:00
Nick Treleaven
3925c3fa20
parser: disallow index variable with range `for` ( #6464 )
2020-09-24 15:52:44 +03:00
Marcin
fb45e2e046
flag: fix panic on single `-`
2020-09-24 15:50:44 +03:00
Uwe Krüger
72ecc222ee
fmt: support `select` expressions ( #6460 )
2020-09-23 22:22:39 +02:00
Daniel Däschle
4f09ddccb4
cgen: implement sum type str gen ( #6454 )
2020-09-23 20:51:51 +02:00
Nick Treleaven
2886b1c67d
checker: require binary operands for &&, || ( #6449 )
2020-09-23 20:48:25 +02:00
Uwe Krüger
9c0758639b
cgen: fix `for match {...} {` and `for select {...} {` ( #6441 )
2020-09-23 06:05:12 +02:00
Alexander Medvednikov
624f22e27e
all: mutability check (part 1); enable mutable sumtype args
2020-09-22 05:28:29 +02:00
Delyan Angelov
a9ef7d173f
doctor: suggest `v doctor` in issue templates and C builder errors
2020-09-21 18:29:52 +03:00
Ned Palacios
744f685973
vdoc: document variables in a specific pos/scope; support `v doc os File` ( #6354 )
2020-09-21 17:40:39 +03:00
Swastik Baranwal
077b597bd8
scanner/parser: change error msgs for `\0` and `\x00` and add error for r`byte` and c`byte` ( #6436 )
2020-09-21 17:34:24 +03:00
Uwe Krüger
0f1c484ad1
parser/checker: `if select { ... } {` ( #6434 )
2020-09-21 07:34:04 +02:00
Alexander Medvednikov
27f91faae5
gg: remove an old compielr hack that's no longer needed
2020-09-21 02:51:14 +02:00
Alexander Medvednikov
8c8fe02000
gg: mouse_move, mouse_down
2020-09-21 02:42:53 +02:00
Leonardo Cecchi
21c5ff681b
pg: add binding for PQfinish (close) ( #6435 )
2020-09-21 01:47:37 +02:00
Henrixounez
e429a77de2
gen: named imported structs operator overloading and str methods ( #6433 )
2020-09-20 19:51:14 +02:00
Henrixounez
5086fd537c
checker: prompt error on implicit int overflow by literal ( #6410 )
2020-09-20 16:29:01 +02:00
Marcin
34884c1631
os: fix binary mode read/write on windows ( #6431 )
2020-09-20 16:28:45 +02:00
Delyan Angelov
d4fbf422b3
gg: support transparency for rect/triangle/etc primitives too
2020-09-20 12:05:30 +03:00
Uwe Krüger
4ae88c69ac
sync/select: allow push of literals and calculated expressions ( #6429 )
2020-09-20 03:50:09 +02:00
Alexander Medvednikov
c781a5f245
gg: draw_triangle(); draw_image_flipped()
2020-09-20 03:47:32 +02:00
Nick Treleaven
9958881cbe
parser: support parsing unsafe (as first token) as UnsafeExpr ( #6032 )
2020-09-19 19:18:36 +03:00
Swastik Baranwal
1c886ad067
scanner: add check for `!is_raw` for null `\0` ( #6427 )
2020-09-19 19:09:18 +03:00
Henrixounez
4b0e7fc979
checker: check if imported struct is public ( #6425 )
2020-09-19 18:16:43 +03:00
Henrixounez
4121ba9ea9
parser: fix error about multiple modules showing when eof ( #6423 )
2020-09-19 02:15:47 +02:00
Uwe Krüger
31a52cdf21
cgen: implement channel `select` block code generation ( #6424 )
2020-09-19 02:14:35 +02:00
Enzo
3126ae305c
checker: verify use of blank identifier ( #6412 )
2020-09-18 23:47:50 +02:00
Delyan Angelov
78e6ddee75
tests: enable running `v test .` inside vlib/v/ too
2020-09-18 19:20:01 +03:00
Daniel Däschle
1b9711edde
gen: fix C warnings by cleaning up skip_struct_init ( #6416 )
...
* gen: removes struct name from list which shouldn't be initialized
* gen: vfmt
* cgen: remove the skip_struct_init list
* Revert "cgen: remove the skip_struct_init list"
This reverts commit d9e1fdbb4c
.
* fix ci
* vfmt vlib/v/gen/cgen.v
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-18 16:36:40 +03:00
Henrixounez
46dc6cc24b
repl: fix ctrl+z job to background on linux ( #6417 )
2020-09-18 16:34:00 +03:00
Delyan Angelov
d2badcdedf
vlib: fix more C warns on windows
2020-09-18 13:40:47 +03:00
Henrixounez
c1f04d8c72
builtin: fix min value for int_str ( #6411 )
2020-09-18 12:56:16 +03:00
Daniel Däschle
ffc8cf3925
gen: c don't generate x >= 0 check for unsigned ints in range exprs in matches ( #6414 )
2020-09-18 12:53:19 +03:00
Daniel Däschle
f7aa9cb0c5
vlib: fix C warning for UNICODE macro redefinition on windows ( #6415 )
2020-09-18 12:51:55 +03:00
Henrixounez
c02a0f90df
checker: prompt error on script expression while inside a file with main ( #6400 )
2020-09-18 01:14:14 +02:00
Henrixounez
4038ac463c
gen: bytes array print not ending prematurely when null byte ( #6401 )
2020-09-18 01:12:32 +02:00
Nick Treleaven
14743458e5
checker: tweak error messages for `or` block; use proper type names ( #6377 )
2020-09-18 01:09:00 +02:00
Daniel Däschle
f59b771c76
parser: fix nested amp ( #6402 )
2020-09-18 01:04:56 +02:00
Nick Treleaven
69c592e0d6
checker: disallow infix op on an optional type ( #6406 )
2020-09-18 01:03:55 +02:00
Henrixounez
99574e465d
scanner: allow escape on null character ( #6404 )
2020-09-18 01:02:06 +02:00
Enzo
a1e127ae46
checker: check type in `is` InfixExpr ( #6407 )
2020-09-18 01:01:05 +02:00
spaceface777
ff92c3409d
ast: merge `IfExpr` and `CompIf` ( #6011 )
2020-09-18 00:58:54 +02:00
Seven Du
98e6d25b42
vweb: make ip() to return peer_ip work ( #6399 )
2020-09-17 10:38:39 +03:00
Delyan Angelov
6f7bb30b0a
tests: fix strconv.v_sprintf arrity mismatch in format_test.v
2020-09-17 00:33:25 +03:00
Delyan Angelov
80b150d3ad
strconv.v_sprintf: add runtime checks&panics on arrity mismatches
2020-09-17 00:24:33 +03:00
Lukas Neubert
2464deec82
cli: improvements to help and error messages ( #6375 )
2020-09-16 22:01:44 +02:00
Henrixounez
608df40058
checker: fix error declaration on a value ( #6390 )
2020-09-16 22:01:15 +02:00
Delyan Angelov
e2e683199d
time: do not panic on time.new_time({unix: 1608854400}).str()
2020-09-16 22:14:02 +03:00
Daniel Däschle
c960b5979e
vlib: fix incompatible pointer warning ( #6385 )
2020-09-16 17:40:02 +03:00
Uwe Krüger
1bc9063573
parser: implement parsing of `select` block ( #6379 )
2020-09-16 15:34:57 +02:00
Daniel Däschle
3a795e6d9b
gen: fixes C warnings by appending U after unsigned integer literals ( #6384 )
2020-09-16 15:50:41 +03:00
Delyan Angelov
5da698b4bf
tests: add support for skipping tests in vlib/v/compiler_errors_test.v too
2020-09-15 19:56:52 +03:00
Nick Treleaven
b552c29bef
os: add fn `read_bytes_into` with buffer argument ( #6365 )
2020-09-14 15:34:34 +02:00
Delyan Angelov
a9bd6acd52
builtin: fix new_dense_array (avoid the &string(int(...)) bug generating (int*) )
2020-09-14 16:26:25 +03:00
Delyan Angelov
bbf4983524
autofree: add option_reassigned.v and option_simple.v tests.
2020-09-14 13:04:24 +03:00
Alexander Medvednikov
bffa100aa6
autofree: optional fix
2020-09-13 21:36:33 +02:00
Delyan Angelov
2bd4355a4c
os: add check for path.len == 0 in vfopen
2020-09-13 18:08:58 +03:00
Delyan Angelov
8c71ba8912
os: add more error checking for os.read_bytes and os.read_file
2020-09-13 18:03:19 +03:00
Alexander Medvednikov
68948c7947
checker: vfmt checker.v
2020-09-13 16:21:40 +02:00
Tomas Hellström
a160038e1a
ci: re-enable autobahn tests (without autofree) ( #6360 )
2020-09-13 16:20:22 +02:00
Vasilis Katsifolis
43942057a4
checker: fix a type check that caused a C error #6238 ( #6358 )
2020-09-13 15:19:53 +02:00
Uwe Krüger
168daebccf
sync/channels: fix bug that caused 100% CPU on block ( #6357 )
2020-09-13 15:13:06 +02:00
Alexander Medvednikov
fc88f43e50
autofree: make optional methods work
2020-09-13 03:20:34 +02:00
Alexander Medvednikov
f337980e52
autofree: move tmp var generation to a separate method
2020-09-13 03:18:13 +02:00
Alexander Medvednikov
9149d8ecb5
autofree: a small simplification
2020-09-13 03:12:09 +02:00
Alexander Medvednikov
f074d766e5
ci: disable gitly autofree build for now
2020-09-13 03:06:16 +02:00
Alexander Medvednikov
db51ee08ea
autofree: more fixes in optionals
2020-09-13 03:00:45 +02:00
Yağızcan Değirmenci
e77c4c182d
sqlite: fix indentation in readme ( #6356 )
2020-09-12 16:42:35 +02:00
Alexander Medvednikov
b74c1805d7
cgen/autofree: fix and simplify optionals
2020-09-12 16:40:52 +02:00
Delyan Angelov
37311883c1
tests: add optional_method_err.vv
2020-09-12 13:12:06 +03:00
Delyan Angelov
0801f88d0a
tests: cleanup vlib/v/checker/tests/run ; add unused_variable_warning.vv
2020-09-12 12:33:17 +03:00
Delyan Angelov
60ecb7e4b6
os: change f.write and f.writeln to return options too
2020-09-12 08:39:28 +03:00
Oghogho Odemwingie
332f3a924c
builtin: consume matched string length in string.replace_each ( #6349 )
2020-09-12 02:31:06 +02:00
Uwe Krüger
b10d79c4d9
sync/channels: fixes for `try_push/pop()`, optimizations ( #6352 )
2020-09-12 02:29:11 +02:00
Sandro Martini
07b5d6b1b6
vweb: add mime type for json static content ( #6347 )
2020-09-11 23:14:44 +03:00
Delyan Angelov
96c22a26b9
tests: cleanup if_smartcast_test.v
2020-09-11 22:00:13 +03:00
Delyan Angelov
40ed2e1b3d
builtin: use C.write for print/eprint . Call C.SetConsoleOutputCP(C.CP_UTF8) on windows
2020-09-11 16:20:35 +03:00
Delyan Angelov
d46c1f0f20
tests: fix sporadic waitgroup failure on slow windows VMs in anon_fn_test.v
2020-09-11 16:00:24 +03:00
Daniel Däschle
ce62f997f3
all: better type error positions ( #6345 )
2020-09-11 14:37:14 +02:00
Alexander Medvednikov
62a692b29c
checker: make the "unnecessary default" error a warning for now
2020-09-11 13:59:28 +02:00
Alexander Medvednikov
53bed596e7
autofree: do not free _ vars
2020-09-11 13:58:12 +02:00
Alexander Medvednikov
e0d20eadff
autofree: free strings on re-assignments
2020-09-11 13:55:20 +02:00
Alexander Medvednikov
17882db635
autofree: disable ?string test for now
2020-09-10 22:19:18 +02:00
Delyan Angelov
ce6d2759f5
os: add os.open_stdin/0 and os.File.get_line/0
2020-09-10 16:57:03 +03:00
Alexander Medvednikov
67cc515e74
autofree: ?string test
2020-09-10 13:41:30 +02:00
Alexander Medvednikov
03327e5161
time: minor fixes + vfmt
2020-09-10 13:26:01 +02:00
Ned Palacios
368c2a6bf0
vlib: add x/json2 ( #6336 )
2020-09-10 12:05:40 +02:00
Alexander Medvednikov
bc8aab4775
checker: fix := test
2020-09-09 17:59:51 +02:00
Alexander Medvednikov
3956ea4665
Revert "checker: fix := test"
...
This reverts commit 818220de45
.
2020-09-09 17:55:48 +02:00
Alexander Medvednikov
818220de45
checker: fix := test
2020-09-09 17:50:14 +02:00
Alexander Medvednikov
5d484bf022
checker: better error message for incorrect `mut x :=`
2020-09-09 17:27:16 +02:00
Daniel Däschle
3a146a6dbe
checker: fix error pos on default value ( #6338 )
2020-09-09 15:34:41 +02:00
Alexander Medvednikov
78e28a72ed
doc: vfmt and make compile
2020-09-09 14:24:42 +02:00
Alexander Medvednikov
cb43084e26
regex: fix compilation
2020-09-09 14:18:06 +02:00
Alexander Medvednikov
ea31f75098
checker: more default field fixes
2020-09-09 14:14:44 +02:00
Alexander Medvednikov
925f1781b3
checker: default field fixes
2020-09-09 14:05:56 +02:00
Alexander Medvednikov
e018509ba6
checker: test for unnecessary default struct field values
2020-09-09 13:59:52 +02:00
Nick Treleaven
eb95a4333a
table: rename Arg to Param ( #6337 )
2020-09-09 13:21:11 +02:00
Swastik Baranwal
ea2b2ebc07
checker: modify error messages for ptrs ( #6325 )
2020-09-09 10:07:58 +02:00
bpryer
3f7970db52
term: add get_cursor_position and set_terminal_title ( #6279 )
...
* added functions
added:
- get_cursor_position()
- set_terminal_title(title string)
* implement term.get_cursor_position and term.set_terminal_title on unix
* Cleanup
* make x,y fields of term.Coord mutable
* fix vrepl compilation
* use more descriptive var names in term_test.v
* do not change the current terminal title in dumb terminals; do not test term.set_terminal_title outside of CI
* unix: in term.set_terminal_title, return true even for dumb terminals
Co-authored-by: Brent Pryer <brent@pryermachine.com>
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-08 22:00:10 +03:00
Nick Treleaven
49c322f120
checker: simplify argument qualifier errors ( #6321 )
2020-09-08 19:34:17 +02:00
Ruofan XU
90128ed4ee
cc: add support for tcc backend on windows-i386 ( #6297 )
2020-09-08 15:15:35 +02:00
Larpon
1c5b9db63f
io: introduce a go-like io.util module ( #6323 )
2020-09-08 14:17:01 +02:00
Enzo
18034bb95c
gen: fix multiple call of expression in match ( #6324 )
2020-09-08 00:38:24 +02:00
Uwe Krüger
5258f52497
fmt: add support for `chan` types and operations ( #6328 )
2020-09-08 00:36:05 +02:00
Maciej Obarski
9a5b86e454
arrays: common methods - min, max, idx_min, idx_max, shuffle, merge ( #6177 )
2020-09-07 13:50:53 +02:00
Nick Treleaven
497bf226e2
add TESTS.md file to explain different tests ( #6318 )
2020-09-07 13:48:15 +02:00
Uwe Krüger
2cb711ee15
checker/channels: check `mut`/`&` state of transmitted objects ( #6315 )
2020-09-06 21:24:41 +02:00
Enzo
601d098b48
szip: make compile ( #6314 )
2020-09-06 15:04:27 +02:00
Larpon
51d7d7cfae
os: fix os.mv edge case and Windows style paths ( #6302 )
2020-09-06 13:12:07 +02:00
Alexander Medvednikov
9fbea31f47
autofree: fix exprs N levels deep
2020-09-06 13:02:32 +02:00
Uwe Krüger
047bf02985
builtin: fix `in` for various numeric types ( #6311 )
2020-09-06 12:45:02 +02:00
Larpon
b4b898b769
os: enable is_file tests ( #6312 )
2020-09-06 12:39:02 +02:00
Uwe Krüger
4d2c8a40d6
sync/atomic2: support 32 bit platforms ( #6308 )
2020-09-05 14:44:16 +02:00
Alexander Medvednikov
3410705974
autofree: lots of fixes
2020-09-05 12:00:35 +02:00
Uwe Krüger
b015033c53
builtin: add methods to builtin channels ( #6303 )
2020-09-05 01:36:20 +02:00
Pavel Kolesnikov
246fe3bfb7
builder: cc_linux_cross() fixes ( #6287 )
2020-09-05 01:35:35 +02:00
Xavier B
8ef55bd8c9
checker: add checks for map key/value types ( #6283 )
2020-09-04 23:59:54 +02:00
Larpon
81778e507f
os: is_file() ( #6301 )
2020-09-04 22:27:52 +02:00
Larpon
efa49bfbb7
os: make behave more like Unix "mv" command ( #6300 )
2020-09-04 13:08:47 +02:00
Alexander Medvednikov
333f355e23
Revert "cgen: handle variables called "array""
...
This reverts commit cc714ca5cc
.
2020-09-03 02:43:26 +02:00
Uwe Krüger
b8617ace53
checker: do not allow aliases of `chan` types ( #6294 )
2020-09-03 02:03:31 +02:00
Alexander Medvednikov
cc714ca5cc
cgen: handle variables called "array"
2020-09-03 02:01:21 +02:00
Pavel Kolesnikov
a3ee217537
builder: use tar instead of unzip in cc_linux_cross() ( #6286 )
2020-09-02 10:09:06 +02:00
spaceface777
35cbca96e1
checker: implement `[required]` struct field attribute ( #6276 )
2020-08-31 23:15:40 +02:00
spaceface777
bd304f1141
checker: check number of fields in short struct inits ( #6280 )
2020-08-31 22:17:59 +02:00
spaceface777
60a9d49382
cgen: implement `[export: 'FooBar']` attribute ( #6278 )
2020-08-31 21:52:25 +02:00
Sandro Martini
39da5eca89
vweb: hide debug prints
2020-08-31 19:39:46 +02:00
Uwe Krüger
cbcba2e4cf
parser: enable module auto import (of `sync`) ( #6271 )
2020-08-31 10:44:39 +02:00
florin
b1a8e1e5b2
vweb: escape form key, not only value. ( #6269 )
2020-08-30 19:09:12 +02:00
Xavier B
d33f68ff54
x.websocket: remove debuging leftover ( #6264 )
2020-08-30 19:35:47 +03:00
Nick Treleaven
5d3d14da53
cgen: support `typeof(expr).name` ( #6253 )
2020-08-30 08:56:18 +02:00
Uwe Krüger
c351f8fa47
checker, builtin: prepage for builtin channels ( #6262 )
2020-08-30 08:55:31 +02:00
Delyan Angelov
718a4692dd
os: enable test_write_and_read_bytes again
2020-08-29 07:43:31 +03:00
Uwe Krüger
fe8286c53c
checker: implement implicit conversions/promotions to `rune` ( #6249 )
2020-08-29 01:59:07 +02:00
Maciej Obarski
7bd2804ce9
all: automatic error propagation in place of "or { return(err) }"
2020-08-29 01:58:03 +02:00
Uwe Krüger
4d425b0e6d
fmt: insert space in front of `?` for propagation ( #6250 )
2020-08-29 01:56:43 +02:00
Delyan Angelov
30fc374fc5
os.args: fix os.args[0] when compiling graphical apps on windows
2020-08-28 22:39:52 +03:00
Nick Treleaven
7dbae14e19
checker: error on `mut name =` ( #6247 )
2020-08-28 20:07:32 +03:00
Delyan Angelov
5d18ece661
ci: fix msvc finding (3)
2020-08-28 20:06:41 +03:00
Delyan Angelov
68864d0703
ci: fix msvc finding (2)
2020-08-28 19:58:17 +03:00
Delyan Angelov
317d15dbe9
ci: fix finding the msvc compiler on windows
2020-08-28 19:48:18 +03:00
Delyan Angelov
3d8a35ced6
ci: fix compiler error tests on windows
2020-08-28 19:27:41 +03:00
Delyan Angelov
dde1b89c5e
vup: remove empty new line on unix
2020-08-28 19:09:47 +03:00
Maciej Obarski
2ce5797ec2
os: vfopen returns option now ( #6244 )
2020-08-28 14:24:00 +02:00
Alexander Medvednikov
789674bd5a
tests: autofree: use -experimental flag
2020-08-28 10:22:28 +02:00
Alexander Medvednikov
0890562663
tests: autofree tmp expr test
2020-08-28 10:08:32 +02:00
Swastik Baranwal
39bf02ea68
checker: add error for arr1 <,>,>=,<= arr2 ( #6243 )
2020-08-28 11:08:07 +03:00
Delyan Angelov
88f75fc1d6
builder: cleanup cc.v; log build_thirdparty_obj_files with `-v`
2020-08-28 09:38:52 +03:00
spaceface777
d663f57d43
parser: move flag logic to checker ( #6239 )
2020-08-28 09:24:04 +03:00
Delyan Angelov
5526954fdc
vdoc: cleanup warnings on `./v doc -s vlib`
2020-08-28 09:03:22 +03:00
Delyan Angelov
d80843bf53
vdoc: parse with `enable_globals: true`
2020-08-28 08:53:12 +03:00
Delyan Angelov
0975f3bd4c
vfmt: support `x chan Name` in fn args
2020-08-28 01:54:16 +03:00
Delyan Angelov
8f5ca29fcd
vfmt: support `x := chan Name{cap: 123}`
2020-08-27 23:37:39 +03:00
Alexander Medvednikov
27702b5a5d
fast: update V with v up instead of git pull
2020-08-27 18:07:28 +02:00
Alexander Medvednikov
a14c6c1ffe
autofree: another tmp arg fix
2020-08-27 17:54:36 +02:00
Larpon
d982aa54e8
os: add missing documentation ( #6234 )
2020-08-27 16:57:01 +02:00
spaceface777
eff319f869
comp_for: allow checking full mehod and arg types ( #5997 )
2020-08-27 15:00:44 +02:00
Delyan Angelov
7476428def
vfmt: handle comments after last const field
2020-08-27 15:07:49 +03:00
Delyan Angelov
8f5cefb116
strconv: fix f64_to_str_lnd and f64_to_str_l after 6921d46
2020-08-27 14:22:04 +03:00
Alexander Medvednikov
c01d17fcc4
tests: fix array_test.v
2020-08-27 13:12:04 +02:00
Alexander Medvednikov
15bdb8f7cd
autofree: tmp arg var frees fixes
2020-08-27 11:30:35 +02:00
Delyan Angelov
3b03edd7cb
repl: fix compilation after 6921d46
2020-08-27 12:20:31 +03:00
Delyan Angelov
8b3990225a
v.checker: run vfmt over vlib/v/checker/checker.v
2020-08-27 12:09:08 +03:00
Delyan Angelov
f73506be49
tests: fix some byte->rune errors
2020-08-27 12:08:05 +03:00
Stunx
fa3e95222e
doc: ignore sokol.sapp ( #6228 )
2020-08-27 08:35:04 +02:00
Xavier B
3e9dc578de
checker: disallow interfaces inside sum types ( #6232 )
2020-08-27 08:33:59 +02:00
Alexander Medvednikov
8dcc73993e
net: remove old websocket module
2020-08-27 07:33:59 +02:00
Alexander Medvednikov
6921d46185
all: rune type for `` literals
2020-08-27 06:46:37 +02:00
Delyan Angelov
99dd72efea
tests: add another test for 47f59d3
2020-08-26 11:46:29 +03:00
Delyan Angelov
47f59d3fb6
v.scanner: fix error line numbers when comments end with CRLF
2020-08-26 11:39:32 +03:00
Alexander Medvednikov
84b8e0a7e4
tests: enable live tests on macos
2020-08-26 06:50:32 +02:00
Uwe Krüger
393b46a6dd
channels: make `ch.len` and `ch.cap` available as properties ( #6221 )
2020-08-26 06:41:51 +02:00
Delyan Angelov
7879510ef5
live: fix hot code reloading on macos (use .dylib, not .so)
2020-08-25 21:40:45 +03:00
Alexander Medvednikov
a55bea44da
table: register rune type
2020-08-25 18:15:24 +02:00
Delyan Angelov
cc82ed28f8
tests: enable running fmt_vlib_test.v on != freebsd platforms again
2020-08-25 19:09:47 +03:00
Delyan Angelov
e3f79df3ac
tests: support .vv in compiler_test.v too
2020-08-25 18:52:28 +03:00
Delyan Angelov
55fdae77d5
tests: add .vv support for `v vet` too, and simplify vet_test.v
2020-08-25 18:46:33 +03:00
Delyan Angelov
86dfd3902f
tests: use .vv files directly in compiler_errors_test.v
2020-08-25 18:14:06 +03:00
Delyan Angelov
f259d275fc
tests: bump simple_tcp_client retries to 20
2020-08-25 17:52:44 +03:00
Delyan Angelov
7b7ab580ab
tests: add retry logic in simple_tcp_client in vweb_test.v
2020-08-25 17:05:40 +03:00
Delyan Angelov
1619beda91
tests: fix repl_test.v
2020-08-25 15:59:07 +03:00
Delyan Angelov
ceca1547fb
valgrind: fix valgrind_test.v
2020-08-25 15:48:11 +03:00
Alexander Medvednikov
c8b3cd2957
tests: simplify valgrind tests, remove .vv
2020-08-25 13:58:21 +02:00
Alexander Medvednikov
33b4ff75d0
builder: handle bad extensions and support .vv
2020-08-25 13:32:27 +02:00
Nick Treleaven
818db91a9e
parser: warn if PostfixExpr followed by `]` or `)` token ( #6214 )
2020-08-25 08:50:06 +02:00
Nick Treleaven
479bfa28de
cgen: implement fixed array `.len` property ( #6212 )
2020-08-25 08:48:28 +02:00
Nick Treleaven
8e4ee54070
glm: fix pointer indexing warnings ( #6215 )
2020-08-25 08:48:05 +02:00
Delyan Angelov
995a5fed1f
v.builder: add -DNDEBUG for non debug -prod builds (affects sokol performance)
2020-08-24 23:10:22 +03:00
Delyan Angelov
3efa670d6a
sokol: add new mouse_dx and mouse_dy fields (fix for Android multitouch)
2020-08-24 23:01:14 +03:00
Xavier B
32a894719e
x.openssl: remove printlns ( #6205 )
2020-08-24 17:20:03 +02:00
Nick Treleaven
acc5c95f0d
checker: error with `*expr` if not a pointer ( #6211 )
2020-08-24 17:19:17 +02:00
Alexander Medvednikov
d547f74cb0
checker/cgen: interface smart casts
2020-08-24 11:10:26 +02:00
Maciej Obarski
e8e0d9fa42
all: [direct_array_access] tag ( #6203 )
2020-08-24 09:04:50 +02:00
Alexander Medvednikov
702a80fc5a
x.net: fix new_tcp_socket()
2020-08-24 03:24:00 +02:00
Delyan Angelov
fa8f5df817
sokol: fix compilation of 2048 on some linux distros (undefined XIQueryVersion and XcursorImageCreate)
2020-08-23 22:17:05 +03:00
Delyan Angelov
2e589a5b0b
sokol.audio: add proper #flag for windows (-lole32)
2020-08-23 21:15:59 +03:00
Delyan Angelov
e71aff71ce
sokol.audio: fix compilation on macos (link with -framework AudioToolbox)
2020-08-23 20:55:01 +03:00
Delyan Angelov
dad2c6608e
examples: implement examples/sokol/sounds/wav_player.v
2020-08-23 20:49:37 +03:00
Delyan Angelov
1c9e02094c
sokol.audio: add simple_sin_tones.v example
2020-08-23 15:28:07 +03:00
Alexander Medvednikov
542b149290
sokol: fix examples and remove copy pasta
2020-08-23 07:47:50 +02:00
Alexander Medvednikov
94c3a912ba
gg: update sokol and stb_truetype
2020-08-23 07:25:30 +02:00
Alexander Medvednikov
5407d9b062
gg: fix draw_line on hi dpi screens
2020-08-23 04:57:12 +02:00
Swastik Baranwal
b2e79dbebd
parser: add an error for `import mod.sub as mod` and `import mod as mod` ( #6194 )
2020-08-23 02:12:25 +02:00
Uwe Krüger
61df70fdf5
all: enable `x = <-ch or {...}` ( #6195 )
2020-08-23 02:12:05 +02:00
Alexander Medvednikov
7dfae2384b
builtin: remove asl.h include
2020-08-22 17:22:14 +02:00
Alexander Medvednikov
9e12095111
gg: image: return an optional instead of panic(); darwin: fix nsstring()
2020-08-22 17:09:30 +02:00
Delyan Angelov
0bdb096bfa
x.net: use port 45123 in tcp_test.v, preventing sporadic `socket error 98` conflicts with websocket_test.v
2020-08-22 15:29:29 +03:00
Delyan Angelov
94ced907d2
sort: fix C compilation error for `fn abc(mut a []int) { a.sort() }`
2020-08-22 15:20:49 +03:00
Yarila682
7dde82322a
cgen: fix dereferencing a mutable array ( #6191 )
2020-08-22 12:48:09 +02:00
Daniel Däschle
fcc61a981d
all: TypeSymbol.source_name ( #6187 )
2020-08-22 12:29:15 +02:00
Delyan Angelov
b5ca114a96
ui: fix compiling the calculator ui example with tcc
2020-08-22 12:58:48 +03:00
Nick Treleaven
98c39a37c0
scanner: warn about interpolation for `$f(expr)` ( #6179 )
2020-08-22 05:48:06 +02:00
Alexander Medvednikov
793d2ce6dc
stbi: more clear panic message
2020-08-22 00:51:16 +02:00
Tomas Hellström
fb148e0b61
x.websockets: new websockets module on top of x.net ( #6189 )
2020-08-22 00:50:38 +02:00
Nick Treleaven
1b914d217e
fmt: don't remove `mut` from `if mut` smart cast ( #6188 )
2020-08-22 00:00:02 +02:00
Delyan Angelov
06967d9297
sort: require a mutable receiver
2020-08-21 21:19:37 +03:00
Lukas Neubert
93e6c3df6a
cli: various improvements ( #6180 )
2020-08-20 23:14:53 +02:00
Emily Hudson
b88569c845
x.net: new net module ( #6130 )
2020-08-20 23:01:37 +02:00
Delyan Angelov
9b171b76e0
os: call os.real_path/1 before returning in os.find_abs_path_of_executable/1
2020-08-20 19:23:19 +03:00
Daniel Däschle
0c183da116
checker: fix sort return type ( #6182 )
2020-08-20 17:29:40 +03:00
Delyan Angelov
e8ff94fb8b
net.html: simplify map setting (fixes compilation with tcc on aarch64)
2020-08-20 16:45:54 +03:00
Delyan Angelov
dfc4298125
tests: return early in x64_test.v on non AMD64 machines
2020-08-20 15:42:26 +03:00
Delyan Angelov
8c7bcad6b1
cgen: support for `$if amd64 {}` and `$if aarch64 {}`
2020-08-20 15:28:37 +03:00
Lukas Neubert
6eea13ecc2
clipboard: wrap pointer indexing in unsafe block ( #6178 )
2020-08-20 10:33:12 +02:00
Alexander Medvednikov
9da7349f63
gg: minor fixes
2020-08-20 08:32:05 +02:00
Lukas Neubert
88bca9d17a
clipboard: wrap vstring call in unsafe ( #6170 )
2020-08-19 16:06:23 +02:00
Nick Treleaven
217f04e311
checker: disallow casting to bool, use `some_int != 0` instead ( #6138 )
2020-08-19 14:37:55 +02:00
Alexander Medvednikov
55b025413d
fmt: temporary struct attr fix
2020-08-19 14:33:45 +02:00
Larpon
d9aae023b1
android: initial support for C output using sokol_main ( #6164 )
2020-08-19 11:00:15 +02:00
spaceface777
c1651bd271
gg: fixes and Android support ( #6161 )
2020-08-19 07:10:42 +02:00
jhuntos
c42ca84850
pg: fix array init warnings ( #6163 )
2020-08-19 07:10:09 +02:00
Nick Treleaven
e69f091bbd
parser: require `(` on same line as name token for fn call or cast ( #6160 )
2020-08-19 02:37:17 +02:00
Alexander Medvednikov
51bd69cdd8
cgen: fix u64 in struct str()
2020-08-18 16:05:11 +02:00
Delyan Angelov
7727aad90f
net.http: fix windows compilation warning
2020-08-18 12:14:21 +03:00
Delyan Angelov
2f6757a56a
Revert "cgen: fix all -Wmissing-variable-declarations ( #5802 )"
...
This reverts commit ae349ca6ba
.
Fixing these warnings, unfortunately also means, that hot code
(which reloads a shared library during runtime) can not use V
constants, because the private static C variables in the shared
library will not be initialized by _vinit(), which is only called
by the main V program.
For example in examples/hot_reload/bounce.v, using `gx.blue`,
defined as:
` blue = Color { r: 0, g: 0, b: 255 }`
... will instead use a const with all 0 fields (i.e. a black color).
2020-08-18 11:55:55 +03:00
Delyan Angelov
937a3e14c5
cgen: add g.options_typedefs, g.shared_types, g.channel_definitions
2020-08-18 11:45:36 +03:00
Alexander Medvednikov
40d91cc23b
gg: handle bad image index
2020-08-18 01:08:58 +02:00
joe-conigliaro
c599a4c7de
checker: remove pos+1 on innermost call
2020-08-18 07:39:40 +10:00
Uwe Krüger
0d7cc8829a
cgen: implement channel `push()`/`pop()` using `<-` operator ( #6154 )
2020-08-17 23:35:36 +02:00
JalonSolov
5c98c0760b
gg: use OpenGL on Windows until D3D issues resolved ( #6155 )
2020-08-17 23:34:51 +02:00
Daniel Däschle
b5c1ea44dc
all: fix mutability after if-smartcast ( #6129 )
2020-08-17 21:11:11 +02:00
Nick Treleaven
36c98b3e5d
cgen: implement fixed array 'for in' for lvalue condition ( #6151 )
2020-08-17 21:10:47 +02:00
Swastik Baranwal
46b4e2a0cd
checker: check`match` types ( #6149 )
2020-08-17 20:19:21 +02:00
Sandro Martini
dab639662f
http: fix new warnings ( #6153 )
2020-08-17 20:17:17 +02:00
Irabaruta Freeman
fa11e124dd
term: add documentation ( #6097 )
2020-08-17 20:16:18 +02:00
Uwe Krüger
9a5f040f72
all: handle `<-` arrow token for channel operations ( #6152 )
2020-08-17 20:12:00 +02:00
joe-conigliaro
c01fd4ac58
parser: remove extra scopes from if & match & fix scope end_pos
2020-08-18 01:51:25 +10:00
Nick Treleaven
6ba6a22a77
checker: prevent from casting non-struct to struct ( #6143 )
2020-08-17 11:19:44 +02:00
Uwe Krüger
0c7d73c8b0
sync/channels: use references for `chan mut X` testcase ( #6145 )
2020-08-16 23:01:49 +02:00
Alexander Medvednikov
b2059c481a
checker: fix an incorrect name test
2020-08-16 19:24:00 +02:00
Alexander Medvednikov
f965ddae49
parser: handle several errors in types; cgen: objC includes
2020-08-16 19:16:59 +02:00
Delyan Angelov
191c908f3a
tests/valgrind: vfmt fn_with_return_should_free_local_vars.vv
2020-08-16 13:22:32 +03:00
Delyan Angelov
fbe02c5ae1
tests/valgrind: add skipped fn_with_return_should_free_local_vars.vv (-autofree)
2020-08-16 13:20:02 +03:00
Delyan Angelov
fc7a108366
v.builder: fix quoting when building thirdparty source files
2020-08-16 10:18:14 +03:00
Yarila682
29528196f2
os: close opened file descriptors in `cp()` ( #6142 )
2020-08-16 04:55:10 +02:00
Nick Treleaven
bab5c21224
parser: warn when fixed-size ArrayInit doesn't have trailing `{}`. ( #6137 )
2020-08-16 04:54:05 +02:00
Enzo
a02593204f
checker: forbid aliasing an alias ( #6118 )
2020-08-16 04:53:16 +02:00
Vinicius Rangel
bf065674cc
json: maps, memory leak, and error forwarding ( #6116 )
2020-08-16 02:30:37 +02:00
Delyan Angelov
e7b2aefd36
v.pref: handle `|` as separators in -path option parsing again (as documented in the help)
2020-08-15 22:09:40 +03:00
Uwe Krüger
c2b4c645a1
sync/channels: document more benchmark results ( #6135 )
2020-08-15 11:20:51 +02:00
Nick Treleaven
0f0a91fc9e
parser: support custom fixed size ArrayInit: `[3]int{init: -1}` ( #6114 )
2020-08-15 11:01:54 +02:00
spaceface777
5f3ced7213
builder: only include `os` when building `.vsh` files ( #6134 )
2020-08-14 21:57:32 +02:00
Uwe Krüger
9602a25a0b
all: add builtin channel type `chan elem_type` ( #6126 )
2020-08-14 21:18:42 +02:00
Nick Treleaven
75212f9fab
cgen: error if ForInStmt is not handled ( #6131 )
2020-08-14 21:01:43 +02:00
Daniel Däschle
b2fee21ef3
checker: check struct casting ( #5864 )
2020-08-14 14:57:08 +02:00
Nick Treleaven
6016f28171
cgen: fix assigning ArrayInit to fixed array: `a = [3]int` ( #6115 )
2020-08-14 13:57:00 +02:00
Nick Treleaven
078ab47a9a
cgen: support `==`, `!=` on FixedArray ( #6119 )
2020-08-14 02:03:38 +02:00
Delyan Angelov
2ad2b4c5ba
vweb: add more tests. Fix missing Content-Length: header bug on 404.
2020-08-14 02:49:15 +03:00
Delyan Angelov
712f4bd7f8
vweb: add tests
2020-08-14 00:52:02 +03:00
Alexander Medvednikov
fc1f41fc84
checker: fix a string error test
2020-08-13 23:33:18 +02:00
Alexander Medvednikov
88cde776e7
checker: more clear string error
2020-08-13 23:21:15 +02:00
Delyan Angelov
8580a0bcd7
cgen: run vfmt to silence `./v fmt -verify`
2020-08-13 21:22:52 +03:00
Delyan Angelov
a62307f711
vweb: fix body appending (missing closing json bracket)
2020-08-13 21:07:31 +03:00
Daniel Däschle
64e8125807
cgen: fixe calling anon fn asynchronously ( closes #6088 ) ( #6121 )
2020-08-13 20:06:56 +02:00
Daniel Däschle
34b28cb68a
fmt: fix anon fn call ( #6120 )
2020-08-13 20:05:59 +02:00
Delyan Angelov
1135dffe2d
cgen: prevent generation of duplicate interface method wrappers
2020-08-13 20:56:58 +03:00
spaceface777
2353814821
vweb: fix body size calculation ( #6122 )
2020-08-13 20:55:33 +03:00
Delyan Angelov
da7adb5b1b
ci: fix failing tests for compiler_errors_test.v
2020-08-13 13:16:41 +03:00
Delyan Angelov
fd5a76a8ad
ci: fail compiler_errors_test.v, when at least one of all the parser/checker tests failed
2020-08-13 12:57:16 +03:00
Delyan Angelov
1a96bcf405
ci: fix `v vet` filtering
2020-08-12 20:34:13 +03:00
Alexander Medvednikov
f8be2110ec
sort: fix sorting by struct fields
2020-08-12 18:43:41 +02:00
Alexander Medvednikov
e5e31f7210
sort: handle `.sort(a.field > b.field)`
2020-08-12 06:11:40 +02:00
Alexander Medvednikov
4bc0dde413
all: new `.sort(a < b)` syntax
2020-08-12 05:54:51 +02:00
Alexander Medvednikov
9800cf1e7b
checker: improve array errors; gg: remove unused imports
2020-08-12 03:54:17 +02:00
Uwe Krüger
bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS ( #6110 )
2020-08-12 03:45:09 +02:00
Delyan Angelov
ca7a64a451
cgen: add support for -g again
2020-08-12 02:05:45 +03:00
Uwe Krüger
433610b5c0
sync/channels: provide `.cap` and `.len()` ( #6104 )
2020-08-11 17:52:13 +02:00
Swastik Baranwal
9fdb1701e0
checker: add a check for str[i] = `a` ( #6107 )
2020-08-11 17:41:54 +02:00
Alexander Medvednikov
99798b83b4
parser: fix match/else check
2020-08-11 17:30:37 +02:00
Alexander Medvednikov
c5aa2bfa51
tests: fix a match test
2020-08-11 16:26:52 +02:00
Alexander Medvednikov
1a9dba0005
checker: make << shifts work with custom number types
2020-08-11 01:05:34 +02:00
Alexander Medvednikov
2dd82748e0
checker: simplify << error message
2020-08-11 01:01:33 +02:00
Alexander Medvednikov
6d72209363
checker: minor c2v fixes
2020-08-11 00:51:15 +02:00
Alexander Medvednikov
11113e43e7
checker: a minor perf fix
2020-08-10 23:59:42 +02:00
Nick Treleaven
d8d82a0be4
checker: make `has_return` fn more efficient ( #6103 )
2020-08-10 23:59:08 +02:00
Alexander Medvednikov
88988817d0
parser: minor `match` simplification
2020-08-10 19:54:38 +02:00
Uwe Krüger
c3cdfa1c96
sync/channels: provide `try_push(), try_pop() as public methods ( #6101 )
2020-08-10 18:06:42 +02:00
Delyan Angelov
36eae1c175
builtin: x.vstring() instead of string(x) ( #6102 )
2020-08-10 18:05:26 +02:00
Delyan Angelov
eba413853f
compiler_errors_test.v: use work.close() instead of sentinel tasks
2020-08-10 15:26:54 +03:00