Delyan Angelov
338f3afd31
vfmt: fix `type MyFn = fn (int) int mut arr := []MyFn{}`
2020-12-09 15:18:45 +02:00
Lukas Neubert
3b6b5b8090
vfmt: properly parse comments on lines after init fields ( #7202 )
2020-12-09 11:11:22 +02:00
yuyi
05a217aaf0
scanner: minor cleanup and optimization in scanner.v ( #7204 )
2020-12-09 02:09:46 +01:00
Alexander Medvednikov
1abb40dc46
cgen: use `cur_mode ast.Module` instead of a string
2020-12-08 19:52:33 +01:00
penguindark
2bc1076921
regex: bug fixes, improved tests
2020-12-08 19:38:25 +01:00
Alexander Medvednikov
a1c0bb3585
os: File.write_string()
2020-12-08 19:37:33 +01:00
Takahiro Yaota
036e762446
time: make parse_iso8601 support format without microseconds ( #7176 )
2020-12-08 17:53:54 +01:00
Delyan Angelov
d5915bde7c
parser: implement support for -Wimpure-v ( #7195 )
2020-12-08 17:52:24 +01:00
Leah Lundqvist
90c1c639fe
js: types ( #7108 )
2020-12-08 17:49:20 +01:00
Andréas Livet
a2ec52b8c4
builtin: rewrite string.split_nth and fix some bugs ( #7189 )
2020-12-08 10:51:47 +02:00
joe-conigliaro
8931d3d39c
checker: include built-in pointer types when checking fn expects non reference. closes #7133
2020-12-08 17:11:15 +11:00
joe-conigliaro
44b9ea4a75
cgen: selector expr / method call on sumtype pointer #7191
2020-12-08 16:08:10 +11:00
joe-conigliaro
805da2325f
cgen: defer was broken in presence of anon fn. fixed #7171
2020-12-08 14:21:19 +11:00
Delyan Angelov
3386526610
builder: improve support for -g in cross compilation to windows
2020-12-07 23:38:21 +02:00
Nick Treleaven
63557d0d02
checker: disallow op= and infix on a voidptr ( #7175 )
2020-12-07 22:43:38 +02:00
Delyan Angelov
ed9aa873c1
gg: use gg.system_font_path() as a fallback when a font can not be found
2020-12-07 21:40:24 +02:00
Delyan Angelov
0efdc7bbe8
gg: print a diagnostic message when a requested font file is not found
2020-12-07 21:28:41 +02:00
Delyan Angelov
1914bc790b
builder: add comment about the goal of cflags.c_options_only_object_files() in cross compilation
2020-12-07 20:35:04 +02:00
Delyan Angelov
4b4733d6b4
builder: fix cross compilation of examples from linux->windows
2020-12-07 19:57:12 +02:00
Nick Treleaven
a100b05647
checker: improve 'operator not defined on right operand type' error ( #7185 )
2020-12-07 18:37:17 +01:00
spaceface777
744a36ed71
js: restructure namespaces ( #7170 )
2020-12-07 18:36:22 +01:00
Delyan Angelov
d38bca5958
checker: tweak the import private function message a little
2020-12-07 19:22:37 +02:00
joe-conigliaro
78a6795319
all: change the way import symbols work & support consts ( #7182 )
2020-12-07 19:13:03 +02:00
Lukas Neubert
f30faf2627
scanner: allow \e escape used for ANSI colors ( #7177 )
2020-12-07 17:21:34 +01:00
Takahiro Yaota
b5982b638a
time: fix typo in test ( #7174 )
2020-12-07 17:21:12 +01:00
Uwe Krüger
fd689f5fdd
cgen: optimize array op assign ( #7178 )
2020-12-07 17:13:19 +01:00
Delyan Angelov
91e18b039c
net: fix cross compilation with mingw, Ws2tcpip.h => ws2tcpip.h
2020-12-07 10:41:42 +02:00
yuyi
f377710c0b
scanner: minor optimization in `text_scan()` ( #7172 )
2020-12-07 06:33:41 +01:00
joe-conigliaro
14887304d8
sokol: allow submodules to be built by themselves (add required imports)
2020-12-07 16:16:21 +11:00
Ned Palacios
2ba8d31118
vdoc: fix sorting; fix missing symbols; document functions ( #7161 )
2020-12-07 02:43:25 +01:00
joe-conigliaro
dcca821000
cgen: autofree - set/reset g.branch_parent_pos for all for loops
2020-12-07 12:08:09 +11:00
yuyi
bac6be2273
token: minor clean up ( #7163 )
2020-12-06 16:48:23 +01:00
Uwe Krüger
853dcc33c7
cgen: optimize map op_assign ( #7162 )
2020-12-06 15:20:31 +01:00
Takahiro Yaota
0c50f0c9dc
time: v fmt ( #7160 )
2020-12-06 15:19:39 +01:00
Delyan Angelov
2be0c6af47
builtin: implement -d exit_after_panic_message (speeds up `v test-parser` with gcc/clang)
2020-12-06 14:21:37 +02:00
joe-conigliaro
5931b26737
cgen: remove extraneous call to util.no_dots
2020-12-06 22:12:23 +11:00
Daniel Däschle
334d605d90
tools,vls: add `v test-parser examples/hello_world.v` ( #7145 )
2020-12-06 12:42:56 +02:00
Alexander Medvednikov
8eff8b0eff
autofree: fix `for` args
2020-12-06 08:38:21 +01:00
Alexander Medvednikov
b6ae81032f
ast: Var.is_tmp field
2020-12-06 08:19:17 +01:00
joe-conigliaro
cd72c25edb
cgen: vfmt cgen.v after changes from previous commit
2020-12-06 18:05:17 +11:00
joe-conigliaro
7733834751
parser/cgen: autofree - move branch_parent_pos to cgen.
2020-12-06 18:02:36 +11:00
joe-conigliaro
d7c057840a
parser: autofree - reset p.branch_parent_pos to previous pos on return
2020-12-06 17:00:44 +11:00
joe-conigliaro
aeb467e038
cgen: fix typo from previous commit
2020-12-06 15:18:24 +11:00
joe-conigliaro
d779510616
cgen: remove debugging comments added in a05408b
2020-12-06 15:16:45 +11:00
João Victor Oliveira Couto
cb5f75c7bf
net.html: change license in readme ( #7157 )
2020-12-06 05:11:43 +01:00
joe-conigliaro
a05408b49a
all: make type system use source name & cleanup storing name in fields
2020-12-06 14:55:08 +11:00
Roland Lammel
028c82e255
fmt: improve map value alignment ( #7105 ) ( #7151 )
2020-12-06 02:04:45 +01:00
Lukas Neubert
79a20c338b
regex: format readme examples ( #7154 )
2020-12-06 02:04:07 +01:00
ka-weihe
96d28b4485
map: more tests ( #7153 )
2020-12-06 01:28:11 +01:00
ka-weihe
5a7fdb0610
map: optimize free() and keys() ( #7152 )
2020-12-06 00:24:24 +01:00
Lukas Neubert
8adb1acf31
check-md: verify code example formatting ( #7143 )
2020-12-05 22:54:41 +01:00
Nick Treleaven
0d28f12c54
map: use untyped keys for DenseArray and interleave keys and values ( #7142 )
2020-12-05 22:53:50 +01:00
penguindark
6b7d7cee0c
regex: new examples, new utility functions ( #7150 )
2020-12-05 22:24:08 +01:00
Delyan Angelov
1739b08e73
builtin: add a test for the sorting of []u64 too
2020-12-05 23:21:20 +02:00
Delyan Angelov
b99ea332f0
cgen,builtin: fix sort for []u64
2020-12-05 23:14:19 +02:00
yuyi
29857cb9d6
checker: fix interpolation recursive str ( fix #1905 ) ( #7141 )
2020-12-05 21:41:54 +01:00
Alexander Medvednikov
22ebbab462
autofree: set tmp var pos
2020-12-05 21:27:49 +01:00
Delyan Angelov
946a1418fe
Revert "autofree: handle tmp vars in for loops"
...
This reverts commit 1d6c604664
.
2020-12-05 21:52:50 +02:00
Alexander Medvednikov
e2e0c625f1
net: add openssl header dir on arm64 macs
2020-12-05 20:27:16 +01:00
Alexander Medvednikov
1d6c604664
autofree: handle tmp vars in for loops
2020-12-05 20:11:31 +01:00
Delyan Angelov
6e76d5d1db
cgen: fix double escaping \n in @VMOD_FILE expansion
2020-12-05 20:13:36 +02:00
joe-conigliaro
7212b2eff2
parser: vfmt parser.v which was modified in previous commit
2020-12-06 02:39:56 +11:00
joe-conigliaro
83f651c29a
cgen: autofree - know where to stop freeing parent scops on continue/break
2020-12-06 02:36:27 +11:00
Xavier B
fafe30b6aa
json: add support for aliased struct fields ( #6556 )
2020-12-05 16:13:18 +01:00
joe-conigliaro
865c30118f
checker: add fix & better comment for previous commit
2020-12-06 01:37:00 +11:00
joe-conigliaro
3172f324d1
checker: infer array_init type from call with in return of or block. closes #7135
2020-12-06 01:26:28 +11:00
Delyan Angelov
daa659e1fd
builder: allow for `-os windows -cc msvc -o x.c` on any platform
2020-12-05 15:35:39 +02:00
Delyan Angelov
fbf6910ab9
builder: remove executables after `v run file.v`
2020-12-05 13:03:12 +02:00
Delyan Angelov
7d9d42b2e2
math.fractions: document the remaining functions in math.fractions
2020-12-05 12:23:18 +02:00
Delyan Angelov
0dfcacd26b
cgen: fix `fn f(mut a []int) { a << [1,2] }`
2020-12-05 10:12:17 +02:00
Delyan Angelov
b18915df62
tests: cleanup long running repl tests (replaced by faster ordinary tests in vlib/v/tests/)
2020-12-05 08:52:08 +02:00
yuyi
595efbac5b
checker: fix or_block return &type mismatch ( #7138 )
2020-12-05 08:06:51 +02:00
Alexander Medvednikov
d1281ac6c1
autofree: handle` break`
2020-12-05 05:06:52 +01:00
penguindark
4fb37e81b2
regex: bug fixes ( #7137 )
2020-12-05 01:51:48 +01:00
Alexander Medvednikov
89952edd25
gg: remove unnecessary copy in draw_text
2020-12-05 00:03:46 +01:00
Alexander Medvednikov
5180013aef
autofree: fix array re-assignment with struct fields
2020-12-04 23:30:30 +01:00
spaceface777
76ed8e3750
checker: don't disallow method call chains ( #7128 )
2020-12-04 21:27:38 +01:00
Alexander Medvednikov
f14bd10c00
autofree: more `return` fixes
2020-12-04 20:44:33 +01:00
spaceface777
6a47deb3f8
checker: ensure array init matches the array's type ( #7118 )
2020-12-04 20:39:32 +02:00
yuyi
215a76a715
string: make `tos_lit` deprecated ( #7129 )
2020-12-04 20:34:58 +02:00
Daniel Däschle
47d0ed308d
parser: prepare for better VLS integration, more accurate parser errors ( #7119 )
2020-12-04 20:34:05 +02:00
spaceface777
52fb7033c3
gen: fix evaluating the receiver of array methods (.map(), .filter(), etc) more than once ( #7130 )
2020-12-04 20:29:34 +02:00
Nick Treleaven
f21b2b41ac
gen: make _SLIT macro determine `len` at compile-time ( #7131 )
2020-12-04 20:14:39 +02:00
Alexander Medvednikov
0ea2fa228f
autofree: fix `or {}`; ci: bring back gitly -autofree
2020-12-04 18:06:53 +01:00
Delyan Angelov
7a8d6a7c7b
scanner: treat warnings as errors on -W too, simillar to the parser
2020-12-04 15:11:35 +02:00
spaceface777
50a3009113
fmt: make single-stmt `or` blocks single-line ( #7126 )
2020-12-04 13:25:23 +02:00
spaceface777
9345d489f8
ci: fix self compilation with cached modules on macos ( #7127 )
2020-12-04 13:25:02 +02:00
Delyan Angelov
52ccdd747f
cgen: allow for `const ( x = opt() ? )`
2020-12-04 13:11:12 +02:00
Delyan Angelov
d0a2992335
regex: align query/regex err pos in optional err messages/panics
2020-12-04 12:43:25 +02:00
Lukas Neubert
02ba923ba7
fmt: do not add braces for trailing struct arg ( #7072 )
2020-12-04 11:22:26 +02:00
Alexander Medvednikov
b64945a6c0
autofree: lots of fixes in `return_statement()`
2020-12-04 10:10:40 +01:00
joe-conigliaro
b578e60dd5
tests: add test for fix #cf7b45b
2020-12-04 15:43:28 +11:00
joe-conigliaro
cf7b45b074
checker: correctly check arrays with element that is an alias. fixes #6735
2020-12-04 14:26:25 +11:00
Tomas Hellström
d12f5f7ba0
x.websocket: vdoc ( #7091 )
2020-12-04 01:52:26 +01:00
Alexander Medvednikov
cae3bd7f32
gg: vfmt gg.v
2020-12-04 01:27:40 +01:00
Alexander Medvednikov
e160f6e7d2
gg: screen_size()
2020-12-03 23:17:00 +01:00
yuyi
9b6a1552e9
checker: check match return mismatch type ( fix #6826 ) ( #7109 )
2020-12-03 21:14:23 +02:00
Nick Treleaven
d590ce7675
map: add 3 DenseArray methods for bootstrapping ( #7113 )
2020-12-03 21:12:53 +02:00
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 `undef`ing __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
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