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

5555 Commits

Author SHA1 Message Date
Daniel Däschle
6c100a0bc3
vls,parser: fix an eof error in parsing invalid const declarations (#7115) 2020-12-03 21:11:43 +02:00
penguindark
15ffce1317
regex: fix compilation issues with gcc under ubuntu (#7112) 2020-12-03 19:33:53 +01:00
yuyi
06eaded6ea
string: change tos_lit to _SLIT (#7079) 2020-12-03 16:02:48 +01:00
Delyan Angelov
eefdf4baa6
scanner: do not warn for \x07 in strings 2020-12-03 14:11:32 +02:00
Daniel Däschle
558a756431
parser: fix position offset by 1 (#7099) 2020-12-03 11:25:06 +02:00
Swastik Baranwal
c5a7c51dfd
parser: add a check for known vars in or block (#7094) 2020-12-03 04:46:04 +01:00
yuyi
30da85a4d5
checker: fix optional or_block {none} (#7095) 2020-12-03 01:03:17 +01:00
Uwe Krüger
c1b25dd61d
cgen: fix map value op-assign modification (#7101) 2020-12-03 00:40:11 +01:00
Alexander Medvednikov
1037d3a383 checker: make missing mut before an argument a warning 2020-12-02 23:58:06 +01:00
joe-conigliaro
ce1fa1194d
parser: fix not used parent warning for selective imports. closes #6916 2020-12-03 01:14:49 +11:00
Lukas Neubert
2691163a7e
scope: remove redundant name arg from register() (#7077) 2020-12-02 14:40:25 +01:00
heronwr
f8af866f76
builtin: make v_realloc use int parameter instead of u32 (#7080) 2020-12-02 15:35:11 +02:00
joe-conigliaro
cd46eb42d7
checker: fix generic os.fn call (script) without mod prefix. fixes #7073 2020-12-02 21:40:44 +11:00
joe-conigliaro
ca7692c839
error on unknown generic struct init. closes #7085 2020-12-02 20:53:40 +11:00
Enzo
d8b8aca51e
gen: fix arr.last().field (#7076) 2020-12-02 04:35:00 +01:00
Lukas Neubert
dedb8f7e41
fmt: smarter wrap of orm lines (#7070) 2020-12-02 04:06:20 +01:00
Tomas Hellström
7c394b9d58
x.websocket: docs and cleanup (#7078) 2020-12-02 04:02:53 +01:00
Alexander Medvednikov
953a51bec8 autofree: fix an off by 1 error 2020-12-02 03:45:08 +01:00
Lukas Neubert
8adc8ed103
parser: do not fail on comment direct after import (#7071) 2020-12-01 22:32:34 +02:00
Delyan Angelov
394e9c4c56
builder: replace single goto start usage, with for { ... continue ... break} 2020-12-01 22:11:44 +02:00
Alexander Medvednikov
c5cd53ca79 parser: bring back old $if position calculation 2020-12-01 18:59:33 +01:00
Alexander Medvednikov
0ff541375d autofree: fix a bug with $if and add a test 2020-12-01 18:58:16 +01:00
Alexander Medvednikov
3612bd58ef fmt: revert the fn \n change 2020-12-01 17:00:06 +01:00
Alexander Medvednikov
0ddf0a4b92 gg: custom bold font path 2020-12-01 16:30:25 +01:00
yuyi
d3deaa1f59
cgen: fix typeof variadic type (#7063) 2020-12-01 16:11:37 +01:00
Daniel Däschle
5b6eb7b2c9
cgen: simplify .str() generation (#7038) 2020-12-01 16:09:03 +01:00
Ned Palacios
54e03f60b9
x.json2: remove builder methods (#7008) 2020-12-01 16:23:59 +02:00
yuyi
6a1e0322bd
gen: fix interpolation variadic (#7059) 2020-12-01 12:40:38 +02:00
joe-conigliaro
f1965c0510
ast: fmt ast.v 2020-12-01 21:20:27 +11:00
joe-conigliaro
88835a0456
cgen: remove some nasty replacements 2020-12-01 21:17:19 +11:00
joe-conigliaro
9b583f51f1
ast: remove field which should have been removed in #34e124d 2020-12-01 20:15:35 +11:00
joe-conigliaro
34e124d5f7
cgen: auto cast sum type in array init. fixes #6907 2020-12-01 20:03:45 +11:00
Delyan Angelov
fe0ded9a91
tests: add a regression test for the inter module generics inference 2020-12-01 08:07:07 +02:00
joe-conigliaro
a7d917474d
checker: simplify generic fn post processing 2020-12-01 16:43:10 +11:00
joe-conigliaro
0e54b9acb5
checker: remove debug println introduced in 4f658ec 2020-12-01 15:14:30 +11:00
joe-conigliaro
4f658ec292
fix auto inferred generic call of mod.func(). closes #6263 2020-12-01 15:10:06 +11:00
Alexander Medvednikov
f4bd953771 pref: vfmt 2020-12-01 04:16:36 +01:00
Alexander Medvednikov
f26f7ebc9d pref: nocache option 2020-12-01 04:05:44 +01:00
Leah Lundqvist
ab225ff154
jsgen: fix JS.@typeof (#7055) 2020-12-01 04:02:10 +01:00
Lukas Neubert
552de94da6
sqlite: add Windows instructions to readme (#7041) 2020-12-01 04:00:41 +01:00
Daniel Däschle
879d238887
cgen: initial option auto str support (#7004) 2020-12-01 04:00:23 +01:00
Daniel Däschle
6af082e70e
doc: detailed documentation of the compiler pipeline (#7043) 2020-12-01 03:58:39 +01:00
spaceface777
83137cbe84
pref: don't use tcc by default in -prod mode (#7053) 2020-12-01 03:58:02 +01:00
spaceface777
0248e4955d
gen: fix undefing __has_include on macos tcc (#7057) 2020-11-30 21:56:17 +02:00
Delyan Angelov
7511d6e4e8 builder: fix building thirdparty C files with tcc, when run outside vroot 2020-11-30 21:48:21 +02:00
Delyan Angelov
5bca6a4bfe cgen: undef *earlier* __has_include for tcc 2020-11-30 21:29:48 +02:00
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