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

11545 Commits

Author SHA1 Message Date
yuyi
b5b1efbb7b
cgen: fix sumtype as cast with calling twice (#17196) 2023-02-02 13:57:37 +02:00
Delyan Angelov
6572d597f9
Revert "cgen: fix sumtype as cast with calling twice (fix #17156) (#17183)"
This reverts commit 90ae3c82c9.
2023-02-02 10:49:15 +02:00
yuyi
90ae3c82c9
cgen: fix sumtype as cast with calling twice (fix #17156) (#17183) 2023-02-02 09:31:11 +02:00
Delyan Angelov
988aed0353
ci: fix broken tests after 322eb81 2023-02-01 23:30:48 +02:00
Alexander Medvednikov
322eb8197d checker: make null warning an error 2023-02-01 18:01:55 +01:00
MatejMagat305
e70848a98b
dl: add more dlopen flags (#17184) 2023-02-01 18:32:35 +02:00
Hitalo Souza
ed58b95a9d
json2: encode array of all and verify sum type (#17051) 2023-02-01 15:52:58 +01:00
Christopher Fore
2029d1830f
tools: remove cmd/tools/modules/vhelp/ & add print to v share (#17178) 2023-02-01 11:18:23 +02:00
walking devel
02fc58d124
orm: add type checker for where (#17179) 2023-02-01 10:53:34 +02:00
Christopher Fore
10261c427f
tools: add v share file.v (#17172) 2023-01-31 20:36:17 +02:00
Tim Marston
26b9464f51
gg: setup ctx.window.user_data and ctx.user_data on ctx.run(), instead of in gg.new_context, to allow for embedding gg.Context in ui (#17169) 2023-01-31 18:22:20 +02:00
Delyan Angelov
a932a8b1ea
net.http: make the errors that parse_status_line returns more informative to make diagnosing problems easier 2023-01-31 15:26:08 +02:00
Christopher Fore
b3d742d13a
v.help: reorganise the folder layout of the v help topic text files (#17155) 2023-01-31 12:04:01 +02:00
walking devel
d563739264
checker: add type checking for ORM limit, offset, and order by. (#17095) 2023-01-31 10:22:02 +02:00
Swastik Baranwal
b487c9d38e
parser: add more precise errors, for fn (p Point) += (q Point) Point { (#17167) 2023-01-31 09:36:33 +02:00
Ulises Jeremias Cornejo Fandos
40ec2a292e
vlib: add a new dl.loader module, to simplify dynamic library loading, when the DLLs may be in multiple customisable locations (#17161) 2023-01-31 09:27:48 +02:00
Ahmad Yasser
6b20c57246
docs,sync: separate example code blocks with a newline (#17165) 2023-01-30 21:25:33 +02:00
Delyan Angelov
5abca37ff7
parser: add a temporary exception for C.statvfs as well (same name reused for function *and* struct) 2023-01-30 21:11:59 +02:00
Alexander Medvednikov
d1f57ead71 V 0.3.3 2023-01-30 18:20:51 +01:00
Delyan Angelov
62f7e56a18
v.vcache: fix a panic due to a race on creating folders in ~/.vmodules/cache/XY 2023-01-30 19:00:00 +02:00
Alexander Medvednikov
1470eb6fa4 gg: fix native image rendering with with/height=0 2023-01-30 16:06:18 +01:00
Felipe Pena
11f734296f
checker: fix generic array clone (#17153) 2023-01-30 11:27:17 +02:00
walking devel
a489417484
orm: detect type mismatching on inserting an object (#17157) 2023-01-30 11:26:10 +02:00
l-m
bb512f782e
checker, ast: add field promoted_type for InfixExpr, filled in by the checker, to save duplicate work in the backends (#17158) 2023-01-29 21:06:05 +02:00
walking devel
4747e70d9d
orm: make last_id() return int, instead of orm.Primitive (fix #12110) (#17151) 2023-01-29 16:00:23 +02:00
Felipe Pena
e6a4f76f82
cgen: fix returing comptime if expressions within functions with an option result (#17154) 2023-01-29 15:59:13 +02:00
anusrnm
5cd01ea494
gzip: fix flag location in header (#17140) 2023-01-29 13:27:04 +02:00
Swastik Baranwal
7f5f69a78a
checker: check option and result handling in as casts (#17133) 2023-01-29 12:28:14 +02:00
Felipe Pena
cb79e57c1a
cgen: fix generated code for match bar()?.a { (matchexpr with call expr using propagation) (#17150) 2023-01-29 12:11:30 +02:00
walking devel
9a86456365
cgen: support string interpolation in ORM queries (#17141) 2023-01-29 01:27:34 +02:00
yuyi
d3e4058aec
cgen: fix printing for mut v in arr (#17137) 2023-01-28 10:15:28 +02:00
Felipe Pena
b732dd6816
cgen: fix opt member eq operation (#17134) 2023-01-28 10:13:11 +02:00
walking devel
e064743c73
parser: recursively search undefined variables in the where parts of SQL statements (#17136) 2023-01-28 10:07:02 +02:00
Nahua
1d4fd53344
net.http: add documentation to http, method, server, and status (#17130) 2023-01-27 13:58:55 +02:00
MatejMagat305
fe157db0ce
v: support an optional fn cleanup() { in each module, to complement the existing optional fn init() { (#17119) 2023-01-27 11:31:03 +02:00
walking devel
a9a04bba55
orm: support fn calls in where (#17127) 2023-01-26 22:36:30 +02:00
l-m
c14d15bd3d
ast,checker,parser,cgen: [c:'sym'] rework; allow compiling code from .v files tagged with [translated] without needing -translated too (#17125) 2023-01-26 17:47:38 +02:00
Makhnev Petr
6365d9e070
checker: forbid var declaration in post statement of for loop (#17120) 2023-01-26 17:40:10 +02:00
Makhnev Petr
15c0a73740
checker: fixed error pointer for "redefinition of key iteration variable" and "redefinition of value iteration variable" errors (#17121) 2023-01-26 12:31:35 +02:00
Nahua
21b17fe234
io: add missing documentation and edit existing ones (#17105) 2023-01-25 22:03:20 +02:00
Felipe Pena
84b99ceeb2
vlib: add a v.reflection module for reflection done at runtime (#17072) 2023-01-25 22:01:22 +02:00
Swastik Baranwal
e32ed368ca
ast, checker, parser: add enum type pos (#17112) 2023-01-25 21:59:28 +02:00
Delyan Angelov
86f8c55107
ast: improve the support for #flag comptime_known_define something (support #flag wasm32_emscripten etc) 2023-01-25 17:38:47 +02:00
Delyan Angelov
d2e5c721a0
net: allow more fine grained control over socket shutdowns 2023-01-25 12:34:39 +02:00
walking devel
b34c55ffd6
ast: fix TypeSymbol.is_primitive, add TypeSymbol.is_bool (#17106) 2023-01-25 08:38:59 +02:00
Makhnev Petr
0874376db0
builtin: fix wrong module name imported in vlib/builtin/linux_bare/old/.checks/linuxsys/linuxsys.v (#17102) 2023-01-24 22:19:30 +02:00
Makhnev Petr
17d65db828
builtin: add string.trim_indent()` method (#17099) 2023-01-24 21:41:25 +02:00
Makhnev Petr
5aad0db0f7
parser: improve error for prefix inc/dec statement --a/++mp["id"] (#17090) 2023-01-24 10:08:35 +02:00
Makhnev Petr
91799a1742
checker: add error for inc/dec for non lvalue (#17091) 2023-01-24 10:03:37 +02:00
Roy Ivy III
5cd074a49e
builtin: improve multi-platform portability for string.split_into_lines() (#17078) 2023-01-24 10:02:25 +02:00
Nahua
da3ad2dca6
gx: add missing documentation or update existing ones for public functions (#17094) 2023-01-24 02:02:07 +02:00
walking devel
8b6fceb0a3
cgen: fix -autofree with arr[idx] or { default } (#17096) 2023-01-24 00:53:26 +02:00
MatejMagat305
6d223b9a26
builtin: add a map.reserve/1 method (#17052) 2023-01-23 11:07:25 +02:00
Makhnev Petr
3a9355d898
change or{} to or {} as most other places (#17082) 2023-01-23 11:05:34 +02:00
yuyi
865c0ea8bd
checker: check generic struct no_keys init (fix #17061) (#17067) 2023-01-22 19:11:12 +02:00
Thomas Peißl
3aeb6179b7
os: rework mv so it works with different partitions (add fallback to os.mv_by_cp + tests) (#17065) 2023-01-22 19:02:04 +02:00
yuyi
a929466130
checker: minor cleanup in infer_fn_generic_types() (#17068) 2023-01-22 15:02:08 +02:00
yuyi
b2dac566b0
checker: check fn call using 'none' as argument (#17070) 2023-01-22 14:58:34 +02:00
Delyan Angelov
f69b994c73
os: properly document os.uname, for both nix and windows 2023-01-22 13:18:28 +02:00
Roy Ivy III
dd55365dee
os: cleanup the output of os.uname() on windows (#17066)
* os: (WinOS) mimic current practices of `busybox` and `coreutils`

* os: trim any possible surounding whitespace
2023-01-22 11:59:42 +02:00
Delyan Angelov
0bafd237ee
ast: fix const dependency order for consts initialised with ast.SelectorExpr (fix #15049) (#17064) 2023-01-22 09:34:46 +02:00
Hitalo Souza
0ac6ba9354
json2: encode sumtype (#17041) 2023-01-21 20:26:55 +02:00
Hitalo Souza
1d51f3109f
json2: improve the performance of encode ~2x (#17050) 2023-01-21 10:45:38 +02:00
yuyi
630fb2af37
cgen: fix generic struct no_key init (#17059) 2023-01-21 10:42:15 +02:00
Hitalo Souza
1c6195c1b6
bench: jump to the top level functions in bench_json_vs_json2.v (#17054) 2023-01-21 10:40:12 +02:00
Hitalo Souza
9a43fa9668
bench: add more benches of json vs x.json2, separated by type (#17043) 2023-01-20 19:11:50 +02:00
yuyi
222eb86e6e
tests: correct the test comment in generic_fn_with_alias_arg.vv (#17048) 2023-01-20 18:53:42 +02:00
Delyan Angelov
46e4317643
benchmark: adjust the documentation for Benchmark.measure 2023-01-20 17:22:49 +02:00
MatejMagat305
d2bde39347
v.cflags: use strings.Builder instead of concatenation for constructing flags (#17049) 2023-01-20 16:20:36 +02:00
Nahua
90dbf683d5
term: add missing documentation for all remaining public functions (#17044) 2023-01-20 11:07:28 +02:00
MatejMagat305
25f1b713aa
crypto.pem: add Block.free() method (#17045) 2023-01-20 10:49:45 +02:00
phoebe
fed6524803
vlib: add a crypto.pem module (#17034) 2023-01-19 17:01:11 +02:00
Thomas Peißl
ba1b31700e
os: add hint for mv_by_cp to mv (#17036) 2023-01-19 16:50:57 +02:00
John
4098612a87
rand: add full precision f32 and f64 random functions; fix f32/f64 multipliers (#16875) 2023-01-19 15:21:47 +02:00
Delyan Angelov
550cae931f
bench: add bench_random_number_generation.v 2023-01-19 15:19:29 +02:00
Delyan Angelov
92c7e3f7ff
checker: relax checks on operators done on aliases of primitives like int, u8, string etc.; add tests (#17029) 2023-01-19 11:45:56 +02:00
Delyan Angelov
bee355eb65
all: cleanup sqlite.connect statements (do not leave strange test.db or vweb.sql artefacts around, after running common tests) 2023-01-19 09:45:07 +02:00
Minsoo
36834be2ad
all: fix the remaining deprecated import sqlite statements (#17021) 2023-01-19 09:37:55 +02:00
Nahua
b69f9419f0
term: add missing documentation for all public functions in colors.v (#17033) 2023-01-19 09:09:09 +02:00
Minsoo
d850d3caba
net.html: add get_tags_by_class_name (#17024) 2023-01-18 19:00:46 +02:00
yuyi
6688c0f3d7
checker: fix generic fn infering error with alias argument (#17026) 2023-01-18 18:59:02 +02:00
Hitalo Souza
525c5e237a
x.json2: add json2.map_from(t T) (#16797) 2023-01-18 18:55:04 +02:00
Delyan Angelov
2c78078814
cleanup: fix old usages of os.write_file/2? to os.write_file/2! 2023-01-18 12:28:10 +02:00
yuyi
6a9688ce9d
checker, cgen: fix for mut i in arr { i = i * i } (#17020) 2023-01-18 09:22:38 +02:00
Delyan Angelov
1cad788779
checker: add error for type Alias = map[string]Alias (fix #17008) (#17015) 2023-01-18 01:34:43 +02:00
yuyi
88dab8fc2d
all: clean up multiple 'is' infix expr (#17005) 2023-01-17 20:27:09 +02:00
walking devel
2fb9bdce9a
cgen, checker: add panic in ORM for invalid queries, when there are no or {} blocks, add type checking for the fkey attribute, add tests (#16977) 2023-01-17 20:21:10 +02:00
Nahua
93ee6d107a
encoding.base32: add missing documentation for all public functions (#16998) 2023-01-17 19:46:43 +02:00
Felipe Pena
5dbdb211dc
cgen: fix assignment from comptime var (#16999) 2023-01-17 19:39:19 +02:00
yuyi
a22dfe0ddf
cgen: minor cleanup in dump_expr() (#17006) 2023-01-17 17:11:04 +02:00
Delyan Angelov
75d6cb9c3a
checker: protect against unlimited recursion in Checker.ensure_generic_type_specify_type_names 2023-01-17 13:07:27 +02:00
yuyi
2034dcb4ed
ast: fix const values defined in the wrong order (#17002) 2023-01-17 12:12:54 +02:00
yuyi
930e629d2e
cgen: fix struct init with chan field (#17001) 2023-01-17 05:50:11 +01:00
Felipe Pena
1302dbf02f
checker: fix for..in statement with ComptimeSelector (#16997) 2023-01-17 05:49:45 +01:00
yuyi
f57b16a843
all: clean up multiple !is infix expr (#16993) 2023-01-17 05:48:44 +01:00
Felipe Pena
f634c6e0a4
checker: fix postfix var checking break (#16984) 2023-01-17 05:47:51 +01:00
yuyi
21807f94a2
checker: check unsafe map index operation (#17000) 2023-01-17 05:47:16 +01:00
MatejMagat305
6bf6a40e0c
crypto: add .free() and .reset() methods to reduce memory leaks with -autofree (#16992)
* Fix unsafe pointer

I was compile vab with '-prod' and it was needed  to fix and it is of course warning

* Add files via upload

* reduce memory  leak s sha512

* add method .free() and .reset() for some
2023-01-16 17:30:40 +02:00
MatejMagat305
92fd12c18a
crypto.sha256: add .free() and .reset() methods to reduce memory leaks with -autofree (#16991) 2023-01-16 13:23:46 +02:00
yuyi
e5fb457b19
checker: fix map with reference value (#16990) 2023-01-16 11:45:22 +02:00
Hitalo Souza
55787ff78f
json2: refactor, doc, perf, test, errors (#16986) 2023-01-15 22:52:48 +01:00
Alexander Medvednikov
7a9a82879b checker: use a notice for now 2023-01-15 22:38:31 +01:00
Alexander Medvednikov
aba7bcde85 checker: turn the pointer map notice into a warning and fix all code using it 2023-01-15 22:19:25 +01:00
Swastik Baranwal
e8108f21e0
checker: check option and result handling in type-casted aliases (#16988) 2023-01-15 23:09:30 +02:00
Nahua
5f30110e2c
hash: document all public functions (#16987) 2023-01-15 22:37:09 +02:00
Hitalo Souza
7db7951bd0
x.json2: fix: #16975 (#16983)
* fix: #16975

* test

* Update vlib/x/json2/json2.v

Co-authored-by: Delyan Angelov <delian66@gmail.com>

* minor refactor

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2023-01-15 22:09:02 +02:00
Delyan Angelov
bfb47005c8
net.openssl, net.mbedtls: add support for -d trace_ssl, for easier tracing of binary protocol problems to https servers 2023-01-15 16:06:46 +02:00
Delyan Angelov
d4320863fe
net: fix compilation with -d trace_tcp_data_write and -d trace_tcp_data_read; add .hex() dumping too for easier diagnosing of binary protocol level problems 2023-01-15 13:25:23 +02:00
Hitalo Souza
28cbaf66b8
json2: refactoring and fixes (#16893) 2023-01-15 12:30:33 +02:00
Felipe Pena
4d2c767dcb
checker: fix for $if field.unaliased_typ is $Int { (#16982) 2023-01-15 12:27:08 +02:00
Delyan Angelov
e8e1df6df9
tests: make VTEST_ONLY=panic ./v vlib/v/slow_tests/inout/compiler_test.v more useful as a filter 2023-01-15 11:38:37 +02:00
Delyan Angelov
2b4c60d07f
tests: sort the .vv files in vlib/v/slow_tests/inout/compiler_test.v, before testing them, to have more predictable output 2023-01-15 11:34:10 +02:00
Alexander Medvednikov
877a1e511a checker: require unsafe for accessing a pointer map value 2023-01-15 02:47:13 +01:00
yuyi
7fd9b62b34
parser: fix type alias of fn with mut argument (#16974) 2023-01-14 21:38:46 +02:00
Hitalo Souza
199db81b23
json2: refactor after #16951 (#16976) 2023-01-14 21:30:29 +02:00
Felipe Pena
dbfb9c3a90
cgen, checker: var type checking at compile-time (#16951) 2023-01-14 16:20:12 +02:00
Delyan Angelov
b19db3a207
ci,term: add a term.set_tab_title/1 shim for windows too (for now just calling term.set_terminal_title/1) 2023-01-14 15:10:12 +02:00
Felipe Pena
71e8fc8b38
checker: fix comptime if branch checking (#16938) 2023-01-14 15:06:38 +02:00
Felipe Pena
80cd9f820a
checker,cgen: allow ?.str() on compile-time fields var (#16969) 2023-01-14 15:04:13 +02:00
Delyan Angelov
6adafbb6ea
term: add a separate term.set_tab_title/1 API for controling the current tab title in emulators like Konsole, that support many tabs 2023-01-14 12:00:39 +02:00
l-m
ca000292f1
cgen,js: support [autostr: allowrecurse] attribute, for allowing deep printing of data structures with pointer fields (trees, instead of graphs with cycles) (#16973) 2023-01-14 11:30:39 +02:00
Delyan Angelov
7c571c0945
term: fix set_terminal_title on nix 2023-01-14 11:08:49 +02:00
yuyi
fd07f7df69
cgen: fix printing struct having fields of arrays of anonymous structs (#16953) 2023-01-14 00:41:31 +02:00
Felipe Pena
41b9e513ca
parser: add a better error message, for multiple attributes, used on the same struct field (#16954) 2023-01-13 23:27:46 +02:00
Ahmad Yasser
3832f076c5
docs: fix all db.pg docs being italic in html format (#16971) 2023-01-13 23:25:24 +02:00
Swastik Baranwal
89aa695fba
checker: disallow non ptr struct values to voidptr fields (#16958) 2023-01-13 17:05:18 +02:00
yuyi
64558df764
vlib: move the mysql/sqlite/pg/mssql modules under vlib/db (#16820) 2023-01-13 17:02:32 +02:00
walking devel
2d8f160ef1
checker: replace the go keyword in error messages with spawn (#16960) 2023-01-13 13:23:51 +02:00
zakuro
c766ce4fe5
fmt: fix removal of selective imported types, used as array elements (#16963) 2023-01-13 09:30:28 +02:00
Felipe Pena
ba091a36dd
checker: fix unreachable code checking for sql ORM blocks (#16948) 2023-01-12 15:36:44 +02:00
Delyan Angelov
33191e4538
ci,pg,net.openssl: fix pkgconfig paths for macos-12 2023-01-12 15:22:08 +02:00
yuyi
148d57827c
parser, fmt: fix fmt in struct declarations with a fields, declared to be arrays of anonymous structs (fix #16947) (#16952) 2023-01-12 13:21:29 +02:00
yuyi
329b9f1a6a
parser, fmt: fix fmt error in $tmpl(path) (#16949) 2023-01-12 06:03:38 +01:00
Delyan Angelov
49a434e11f pg: fix compilation on macs with clang (libpq installed through brew) 2023-01-12 02:21:32 +02:00
Delyan Angelov
131086b647 ci: workaround for $if prod { not working properly with msvc 2023-01-12 00:02:27 +02:00
Delyan Angelov
00cef70220
ci: fix -prod compilation of sokol apps 2023-01-11 22:37:41 +02:00
Delyan Angelov
d9339b09d6
sokol.memory: fix message logs on Android 2023-01-11 16:37:20 +02:00
yuyi
3f8aa77990
parser: fix tmpl using variable or const path argument (fix #16941) (#16943) 2023-01-11 13:31:48 +02:00
Swastik Baranwal
b872487d82
cgen: allow ORM to work with DB aliases (#16939) 2023-01-11 11:58:55 +02:00
Delyan Angelov
e854051c1f
thirdparty: update all sokol and fontstash headers with their upstream versions (#16940) 2023-01-11 11:29:38 +02:00
Hitalo Souza
d1306ffcf5
checker,json2: relax checking of x.enum = integer at comptime; refactor json2 to clean it up (#16926) 2023-01-11 10:18:45 +02:00
Felipe Pena
09f48455c5
checker,cgen: allow method.name checking in comptime (#16931) 2023-01-10 19:45:06 +02:00
Hitalo Souza
cf95d77584
json2: small refactor after #16896 (#16911) 2023-01-10 11:08:11 +02:00
Delyan Angelov
1582db1a0a
comptime: add support for T is $Alias and T is $Function (#16929) 2023-01-10 08:49:04 +02:00
Delyan Angelov
6a32c81070
tests: extract slow tests (prod, valgrind, inout, repl etc), from vlib/v/tests/ to vlib/v/slow_tests/ (#16892) 2023-01-09 23:47:03 +02:00
Hitalo Souza
33a99fe833
json2: fix encoding of struct fields that are aliases (#16925) 2023-01-09 22:43:01 +02:00
Yochem van Rosmalen
0109fe66a6
os: make os.FileMode public (#16923) 2023-01-09 22:34:36 +02:00
Felipe Pena
51907618c3
cgen: fix code generated for a match expression, which returns function (#16922) 2023-01-09 22:30:35 +02:00
Swastik Baranwal
413a8b5f87
comptime: implement field.is_enum (#16920) 2023-01-09 20:12:07 +02:00
yuyi
c2eb4d7065
cgen: fix result or option of multi return (fix #16873) (#16915) 2023-01-09 16:20:15 +02:00