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

4626 Commits

Author SHA1 Message Date
Carlos Esquerdo Bernat
2f2463a04c
ws: make Client.state pub mut (#6009) 2020-07-29 17:52:33 +03:00
Alexander Medvednikov
280afb2282 builder: rename a to args 2020-07-28 22:33:33 +02:00
Leah Lundqvist
51c9b49d3f
iOS: basic building and running (#5999) 2020-07-28 22:27:38 +02:00
Ruofan XU
1d59d35129
cgen: fix sum type match (#5978) 2020-07-28 22:17:25 +02:00
Delyan Angelov
e06448b616 eventbus: update test and docs too 2020-07-28 19:08:16 +03:00
Carlos Esquerdo Bernat
0539b2a7ea
eventbus: removed check on publish, always use receiver, args, sender order for callbacks (#5940) 2020-07-28 18:48:25 +03:00
Delyan Angelov
9c028bb299 checker: fix passing enum to a method expecting string 2020-07-28 13:50:40 +03:00
Delyan Angelov
228486555c http: add pub to Method.str() 2020-07-28 12:34:29 +03:00
Delyan Angelov
5bf3b6eda3 gg: fix running tetris and ui examples on linux 2020-07-28 12:12:44 +03:00
Carlos Esquerdo Bernat
49a7a835c7
ws: update README.md (#5983) 2020-07-28 11:22:03 +03:00
Nick Treleaven
19c226fcf8
parser: Support unsafe(expr) (#5973) 2020-07-28 11:20:52 +03:00
Enzo
d7ed3cd8b7
fmt: fix SQL formatting in ORM expressions - remove trailing spaces (#5996) 2020-07-28 11:09:42 +03:00
Carlos Esquerdo Bernat
28657fe7cb
http: handle all of the http.Method values in .str() (#6002) 2020-07-28 10:39:10 +03:00
Swastik Baranwal
8b66816bdc
scanner: more checks for _ as num_sep (#5992) 2020-07-28 16:09:19 +10:00
joe-conigliaro
5d49034c31
http: backend_windows - use Method enum in ssl_do() 2020-07-28 14:35:21 +10:00
joe-conigliaro
395e886b2e
http/vweb: use Method enum & add helpers 2020-07-28 14:13:19 +10:00
Alexander Medvednikov
fec9920b1a http: replace method string with an enum 2020-07-27 21:20:23 +02:00
Alexander Medvednikov
65159b8070 gg: bold/mono/italic fonts 2020-07-27 21:20:23 +02:00
joe-conigliaro
61c1c4a690
checker: add error for invalid sum type cast MySt{1} 2020-07-28 01:04:04 +10:00
Enzo
2de1437a1e
ci: vet all files from the compiler (#5994) 2020-07-27 12:15:29 +02:00
joe-conigliaro
1086150ab9
builder: add comment to parse_imports re: dup file parsing 2020-07-27 12:06:48 +10:00
Alexander Medvednikov
3d19167628 http: fix cookies (part 2) 2020-07-26 22:01:25 +02:00
Alexander Medvednikov
cf4235ab65 http: fix cookies 2020-07-26 15:54:21 +02:00
Delyan Angelov
88345d759a tests: add support for skipping to valgrind_test.v 2020-07-26 16:09:58 +03:00
Ruofan XU
7027b2354b
cgen: fix array and map with fns (#5938) 2020-07-26 14:22:02 +02:00
Delyan Angelov
dfa01d8877 rand: add rand.ulid_at_millisecond/1, use it in rand.ulid/0 2020-07-26 14:17:29 +03:00
penguindark
7d52d612ce
rand: add rand.ulid() (#5979)
* removed debug println

* added newline to the end of the file

* time: add .unix_time_milli() method; rand,time: add tests

* rand: add more ulid tests; move tests to a separate file random_identifiers_test.v

* run vfmt over vlib/rand/random_identifiers_test.v

* speed up time.unix_time_milli

* simplify and speedup time.unix_time/0 and time.new_time/1

* update comment about rand.ulid()

* fix terminating 0 off by 1 issue in rand.ulid()

* optimize time.new_time()

* restore the master version of vlib/time/parse.v

* make test_unix_time more robust

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-07-26 13:10:56 +03:00
Delyan Angelov
9e652c4f40 ci: fix remaining failing tests. Do mut ptr check only outside unsafe{} blocks. 2020-07-26 10:59:07 +03:00
Delyan Angelov
9d056168ae ci: fix failing tests 2020-07-26 10:48:24 +03:00
Delyan Angelov
a7f484d9a7 tests: make output of vlib/v/compiler_errors_test.v more readable 2020-07-26 10:47:55 +03:00
Carlos Esquerdo Bernat
1f8ae5d12c
websocket: add tests (#5967) 2020-07-25 22:25:31 +02:00
Alexander Medvednikov
6796b93abd tests: fix compiler_errors_test.v 2020-07-25 22:20:10 +02:00
Delyan Angelov
6fcc6cdc75 rand: add comments for rand.uuid_v4, apply some more perf tweaks 2020-07-25 21:39:54 +03:00
Delyan Angelov
ee3ebed23c rand: further speed up of rand.uuid_v4 2020-07-25 20:21:44 +03:00
Delyan Angelov
3d2fd471b6 ci: prepare for enabling compilation with g++ again 2020-07-25 20:20:49 +03:00
Alexander Medvednikov
7c86156be5 checker: fix unsafe tests 2020-07-25 18:58:23 +02:00
Alexander Medvednikov
34907f7605 checker: do not allow assigning immutable refs to mutable vars 2020-07-25 18:32:36 +02:00
Delyan Angelov
a552674254 vvet: fix segfault on v vet . 2020-07-25 15:57:57 +03:00
Delyan Angelov
d5b837e808 rand: speed up rand.uuid_v4() ~7x, with -prod 2020-07-25 13:09:05 +03:00
Delyan Angelov
c1e14b451e builder: show timing info in bold; also add a checker summary: line with -stats 2020-07-25 10:32:29 +03:00
Alexander Medvednikov
3c1427a4e8 all: fix current module in build-module mode 2020-07-25 01:37:54 +02:00
Louis Schmieder
b58b15993c
gen: compile time for (methods and fields) (#5957) 2020-07-25 00:02:44 +02:00
Lukas Neubert
2ccb28a93e
checker: run vfmt over checker.v (#5965) 2020-07-24 20:12:01 +03:00
Delyan Angelov
289974dd15 rand: use time microseconds too in default rand initialization; generate proper uuid_v4 2020-07-24 14:33:58 +03:00
Delyan Angelov
c429fa7e27 rand: add test for rand.uuid_v4() 2020-07-24 14:01:48 +03:00
Delyan Angelov
bba0edf9a3 rand: add rand.uuid_v4() 2020-07-24 13:59:24 +03:00
Delyan Angelov
bfca55b87a examples: fix v build-examples 2020-07-24 13:29:47 +03:00
Delyan Angelov
8c4429c875 parser: fix passing the is_mut flag of anon fn arguments 2020-07-24 11:27:56 +03:00
Delyan Angelov
d204c926a8 tests: fix compilation of if_smartcast_test.v 2020-07-24 10:30:22 +03:00
pancake
04ef2a2671
os: implement os.system for iOS and uncomment the $if ios blocks (#5947) 2020-07-24 10:17:32 +03:00
Delyan Angelov
921b5cddd0 live: fix compilation 2020-07-24 08:45:28 +03:00
Delyan Angelov
d31142ac3e vfmt: fix compilation after the more strict mutability check 2020-07-24 08:43:18 +03:00
Delyan Angelov
d83e2ee330 websocket: fix compilation after the more strict mutability check 2020-07-24 08:41:14 +03:00
Delyan Angelov
346cc5ca2c term: fix panic in term.header, when cols,rows from get_terminal_size are < 2 2020-07-24 08:34:39 +03:00
Delyan Angelov
c2083203b3 v.util: fix util.emanager.set_support_color 2020-07-24 08:31:05 +03:00
Alexander Medvednikov
ec443c65a8 tests: fix some tests 2020-07-24 01:55:55 +02:00
Alexander Medvednikov
d2675b89c0 builtin: fix a mutable var on windows 2020-07-23 23:18:45 +02:00
Alexander Medvednikov
632e27a4a9 all: fix a big mutability bug and update all mutable vars 2020-07-23 23:16:36 +02:00
Alexander Medvednikov
32c1042ac6 parser: disable the duplicate import check for now 2020-07-23 22:20:00 +02:00
Alexander Medvednikov
653d40bfe8 parser: do not duplicate table imports 2020-07-23 21:59:48 +02:00
pancake
b7bdb97f7d
term: fix crash in header when divider.len < 2 (#5956) 2020-07-23 18:54:29 +02:00
Louis Schmieder
b537d8e23e
parser: comp for attrs array (#5903) 2020-07-23 17:19:37 +02:00
Carlos Esquerdo Bernat
7a4c27bd08
log: add flush to log file (#5942) 2020-07-23 08:02:53 +03:00
pancake
36352085ae
v: add support for iOS crosscompilation (#5943) 2020-07-23 07:58:44 +03:00
Emily Hudson
0f98445f7f
cgen: properly handle more multi-return edge cases (#5933) 2020-07-23 00:39:19 +02:00
Uwe Krüger
6586a9a657
fmt: give braced sub expressions a higher priority (#5941) 2020-07-23 00:32:34 +02:00
Delyan Angelov
37c6f6ab1b vfmt: fix compilation with -prod 2020-07-22 21:43:20 +03:00
Delyan Angelov
276c1de190 unsafe: tag with unsafe{} some more pointer manipulations 2020-07-22 21:42:51 +03:00
Delyan Angelov
949ed90b51 utf8: fix a panic in utf8.len("pippo"), mark with unsafe{} direct pointer manipulations 2020-07-22 21:15:27 +03:00
Lukas Neubert
4096432a1d
cli: prevent need for unsafe block (#5937) 2020-07-22 20:53:49 +03:00
Ryan Willis
938e71b468
v: fix for import cli { Command } 2020-07-22 20:33:43 +03:00
Nick Treleaven
ee349691f9
v/checker: Warn about pointer indexing outside unsafe {} (#5918) 2020-07-22 20:28:53 +03:00
joe-conigliaro
d46a89b90d
parser/checker/fmt: optimize scope lookups by storing object with ident & add if expr smartcast support to vfmt (#5935) 2020-07-23 02:10:31 +10:00
Delyan Angelov
ebbc7bd471 examples: fix crash when running examples/ws/client.v outside of valgrind 2020-07-22 18:42:57 +03:00
Carlos Esquerdo Bernat
b0d76c59f7
websocket utf8: move utf8 functions from websocket to encoding.utf8, add utf8_test.v (4/4) (#5924) 2020-07-22 18:36:24 +03:00
Carlos Esquerdo Bernat
635c99e2ed
ws: obtain port when not specified (#5922) 2020-07-22 17:35:30 +03:00
Carlos Esquerdo Bernat
0d8ebf5845
websocket: use log instead submodule logger (1/4) (#5921) 2020-07-22 17:31:22 +03:00
Ruofan XU
0f72328d1f
cgen: minor generated C source format fix 2020-07-22 17:27:37 +03:00
Carlos Esquerdo Bernat
f09e14a2b9
csv: cleanup reader_test.v 2020-07-22 17:26:26 +03:00
Emily Hudson
1476602f99
builder: pass define flags to msvc (#5931) 2020-07-22 17:24:12 +03:00
Ruofan XU
a370dd2867
cgen: further fixes to and array/map of fns (#5916) 2020-07-22 02:30:44 +02:00
kalapalo
c3a2e9b5c4
cgen: fix sum type assignment with pointers (#5868) 2020-07-22 02:28:49 +02:00
spaceface777
f4251dded0
checker: suggest using := when assigning to undefined variable (#5911) 2020-07-21 19:49:53 +03:00
Delyan Angelov
8b930b4888 builder: measure msvc execution too 2020-07-21 19:45:50 +03:00
Delyan Angelov
14fd7d93ca v.pref: fix v build file.v 2020-07-21 19:36:58 +03:00
Delyan Angelov
6dd1494008 encoding.base64: use fixed static arrays for the ending_table and index consts 2020-07-21 17:56:19 +03:00
Delyan Angelov
4cb9e651a6 vfmt: fix sizeof(C.Type) 2020-07-21 16:28:30 +03:00
Delyan Angelov
e1eb9c4ff1 vfmt: fix x := *&int(ptr) 2020-07-21 15:58:17 +03:00
Delyan Angelov
35df792c05 vfmt: fix #include "@VROOT/path/x.h" 2020-07-21 14:26:49 +03:00
Delyan Angelov
8f23accc4e time: add .format_ss_milli and .format_ss_micro methods 2020-07-21 11:58:33 +03:00
Delyan Angelov
0af415fa28 vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again 2020-07-21 09:05:31 +03:00
Carlos Esquerdo Bernat
6dbc143d67
websocket: move ws example to examples folder (#5875) 2020-07-21 00:55:58 +02:00
Alexander Medvednikov
303b65c0b9 roadmap: io streams 2020-07-20 22:51:17 +02:00
Alexander Medvednikov
059722f211 checker: minor vfmt run 2020-07-20 22:30:09 +02:00
Nick Treleaven
15ca64d81d
tests: rename pointer_arithmetic_should_be_checked.vv -> unsafe_required.vv (#5897) 2020-07-20 23:04:22 +03:00
Nick Treleaven
a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869) 2020-07-20 20:06:41 +03:00
spaceface777
1a5236e53d
jsgen: export module through commonjs (#5895) 2020-07-20 19:57:13 +03:00
Ruofan XU
88c8e194d0
cgen: fix map and array with fns (#5894) 2020-07-20 19:53:02 +03:00
Nick Treleaven
e6fc8eb015
checker: check that array slicing indexes are valid (#5892) 2020-07-20 19:52:03 +03:00
Enzo
8653605b0a
fmt: allow for comments in call args and if expressions branches (#5871) 2020-07-20 17:48:33 +03:00
Nick Treleaven
fb76e02c59
builtin: speed up string.clone() by using C.memcpy (#5837) 2020-07-20 17:44:35 +03:00
Carlos Esquerdo Bernat
c60948e52e
runtime: simplify nr_cpus(), add a test for nr_jobs() 2020-07-20 17:36:44 +03:00
Delyan Angelov
fb4c3ff31a tests: split unsafe.v to vlib/v/tests/unsafe_test.v and a checker output .vv&.out test 2020-07-20 16:53:27 +03:00
Carlos Esquerdo Bernat
60997b3052
net.http: wrap unsafe{} around req.headers.free() (#5891) 2020-07-20 15:39:46 +03:00
Delyan Angelov
c858978348 cgen: add support for -d trace_gen too. Add v tracev command. 2020-07-20 12:36:27 +03:00
Delyan Angelov
587b9dd8aa tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed 2020-07-20 11:14:55 +03:00
Ruofan XU
9f6aacb739
cgen: fix array of fns init (#5884) 2020-07-19 21:44:03 +02:00
Louis Schmieder
bb60fe2ccf
vweb: implement cookie expiration date (#5873) 2020-07-19 21:42:50 +02:00
Enzo
8a855ccae1
fmt,vet: handle var in [single_value] (#5882) 2020-07-19 19:58:34 +02:00
Delyan Angelov
9c3aa8bfc3 sqlite: add more detailed C.sqlite3_ APIs 2020-07-19 19:14:40 +03:00
Ryan Willis
1114fd28d0
all: import individual symbols feature (#5872) 2020-07-18 21:34:38 +02:00
Delyan Angelov
de0fc53d62 CI: fix failing tests because of hash.wyhash duplicates 2020-07-18 15:27:57 +03:00
Delyan Angelov
ca8344460a cli: fix failing test on macos/windows 2020-07-18 15:02:05 +03:00
XeGrox
e5a508c0d7
checker: fix inability to access aliased struct fields (#5861) 2020-07-18 13:58:16 +02:00
Alexander Medvednikov
74d70b8719 all: more cached moduels fixes 2020-07-18 13:49:03 +02:00
Delyan Angelov
3a4f2dfe8b cli: extract improvements to vlib/cli, based on PR 5616 (without cmd/v2) 2020-07-18 14:24:29 +03:00
Alexander Medvednikov
7ab6899538 builtin: fix compilation (part 1) 2020-07-18 11:17:29 +02:00
Alexander Medvednikov
38e5569503 all: cached modules fixes 2020-07-18 11:15:44 +02:00
Nick Treleaven
105a0e015e
checker: warn if unsafe method called outside unsafe block (#5863) 2020-07-17 19:14:12 +02:00
Enzo
90d9040e6e
all: make comment expressions + fix vfmt array init (#5851) 2020-07-17 19:13:22 +02:00
Nick Treleaven
39f90e25f3
all: if guard optional: define err in else branch (#5853) 2020-07-17 19:10:01 +02:00
Uwe Krüger
ea322bdd97
checker, cgen: fix call of generic function returning normal type (#5865) 2020-07-17 18:28:45 +02:00
Ryan Willis
e804ba5294
vfmt: add support for VDIFF_TOOL, detect more diffing tools (#5857) 2020-07-17 14:03:07 +03:00
Uwe Krüger
f6947d111b
parser: fix sizeof(int) when used as call arg for external function (#5855) 2020-07-17 11:31:35 +03:00
spaceface777
3583302ad4
parser: force ... rather than .. in matches for inclusive ranges (#5852) 2020-07-17 11:30:21 +03:00
Lukas Neubert
fa03f390b3
parser: add error for for i := 0; i++; i < .. (#5850) 2020-07-17 10:31:58 +03:00
Ryan Willis
82e2b1ec33
strconv: use import instead of module in test files (#5856) 2020-07-17 02:35:42 +02:00
Alexander Medvednikov
69ef43ba00 vweb: fix ip() 2020-07-16 21:23:35 +02:00
Alexander Medvednikov
cb1009d91b strconv: more fixes 2020-07-16 20:55:15 +02:00
Alexander Medvednikov
f1b4af33ac tests: atof_test fix 2020-07-16 19:50:09 +02:00
Alexander Medvednikov
9b2cbdacc6 vfmt: verify 2020-07-16 19:46:03 +02:00
Alexander Medvednikov
a989e017fe tests: fix f32_f64_to_string_test.v 2020-07-16 19:41:01 +02:00
Alexander Medvednikov
e4fac6ff97 autofree: fix scope position 2020-07-16 19:40:14 +02:00
Alexander Medvednikov
dc89a914ea cc: build-module/module cache fixes; strconv: move all code in one module 2020-07-16 19:01:56 +02:00
Ryan Willis
f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates (#5841) 2020-07-16 18:33:26 +02:00
Swastik Baranwal
f3a505b558
scanner: add check for _ in num literals (#5849) 2020-07-16 17:29:07 +03:00
spaceface777
b900577dae
compiler: handle ranges as match conditions (#5847) 2020-07-16 16:41:18 +03:00
joe-conigliaro
612fe1b8fb
cgen: autofree scope var position fixes 2020-07-16 20:06:50 +10:00
Alexander Medvednikov
6245876806 vweb: ip() 2020-07-16 00:48:14 +02:00
Nick Treleaven
f5e6a83a05
builtin: unsafe vlib pointer indexing (#5836) 2020-07-15 21:56:50 +02:00
Alexander Medvednikov
c563168d69 rand: string() 2020-07-15 21:36:09 +02:00
Nick Treleaven
4b0ded0475
checker: Warn instead of error for pointer arithmetic (#5840) 2020-07-15 19:59:39 +02:00
Delyan Angelov
1873a0cb6d builder: pass -g3 for -cg 2020-07-15 12:46:24 +03:00
Enzo
2ee8f93d60
parser: duplicate method declaration on interface (#5825) 2020-07-15 10:23:21 +02:00
Uwe Krüger
8df6e59678
sync: add semaphores (#5831) 2020-07-15 10:22:33 +02:00
Delyan Angelov
cf7d03bda6 builtin: implement array.pop() 2020-07-14 20:01:39 +03:00
Enzo
de0b96f52c
parser: fail when interface name is duplicated (#5828) 2020-07-14 18:52:51 +02:00
Enzo
d301611de7
fmt: interface decl fixes (#5829) 2020-07-14 18:52:28 +02:00
Alexander Medvednikov
60ce938149 builder: make builtin, strconv, os work with v build-module 2020-07-14 18:27:14 +02:00
Delyan Angelov
5ad957f270 vfmt: fix formatting for x, _ := f() 2020-07-14 19:11:16 +03:00
Delyan Angelov
e23925f2be pref: add -show-timings option 2020-07-14 18:47:40 +03:00
Alexander Medvednikov
06f5279f77 checker: fix multi_const_field_name_duplicate test 2020-07-14 17:44:08 +02:00
Alexander Medvednikov
899c69caf1 checker: fix dup const test 2020-07-14 17:24:08 +02:00
Enzo
880c8e4dc9
cgen: else if guard (#5822) 2020-07-14 17:19:55 +02:00
Alexander Medvednikov
d33fbe4547 checker: format + fix duplicate const error 2020-07-14 17:18:10 +02:00
Swastik Baranwal
c3bdacbf04
doc: add info about _ separator in literals (#5823) 2020-07-14 15:46:13 +02:00
Alexander Medvednikov
c3ec5323f0 autofree: move new scope free behind -experimental for now 2020-07-14 15:30:55 +02:00
Alexander Medvednikov
7231b467a6 autofree: fix stmts() free 2020-07-14 14:50:51 +02:00
Alexander Medvednikov
1338e7fce2 autofree: free in each scope 2020-07-14 13:56:52 +02:00
Delyan Angelov
3703ade9f1 doc: add a Numbers section. Add tests for 0b prefixed integer literals too 2020-07-14 11:10:43 +03:00
Alexander Medvednikov
361d12bf43 pref: -experimental flag 2020-07-14 00:32:33 +02:00
ka-weihe
df45488e09
cgen: fix warnings (#5820) 2020-07-14 00:16:31 +02:00
joe-conigliaro
042add0e7f
ast: fix typo in comment 2020-07-14 04:04:16 +10:00
joe-conigliaro
dd06d90466
checker/gen: temp hack for struct fn type field (fixes ui) 2020-07-14 03:59:00 +10:00
Alexander Medvednikov
1c682d7b89 cgen/autofree: sb.writeln() optimization fixes 2020-07-13 18:59:47 +02:00
Delyan Angelov
e5a5e76a30 cgen: fix for passing functions as voidptr args 2020-07-13 19:45:13 +03:00
Delyan Angelov
e3f7681e89 smtp_test: use assert false return, remove for loop 2020-07-13 18:52:46 +03:00
Delyan Angelov
97d01a5487 test: enable passing username/password through env vars to smtp_test.v 2020-07-13 18:22:36 +03:00
spaceface777
e9c144bf98
smtp: rewrite module api (#5819) 2020-07-13 16:41:23 +02:00
Delyan Angelov
a565848dfa tests: remove duplicate test autolock_array_1_test.v 2020-07-13 15:02:44 +03:00
Uwe Krüger
6e6010d198
checker, cgen: implement auto-lock for a[i]++, a[i]-- (#5817) 2020-07-13 15:01:32 +03:00
Delyan Angelov
b04fff272e tests: move autolock_array_1.v to autolock_array_1_test.v 2020-07-13 14:21:44 +03:00
Uwe Krüger
aa364ddaca
checker, cgen: checks for shared/lock, first autolock (#5815) 2020-07-13 12:19:28 +02:00
Delyan Angelov
1baa7ef806 os: implement os.write_file_array and os.read_file_array . 2020-07-13 10:46:37 +03:00
Alexander Medvednikov
db2346069a gg: always use stb_truetype for now 2020-07-13 01:02:50 +02:00
Delyan Angelov
f1fdafcdff pref: add -check-syntax for just parsing files, without checking them 2020-07-12 22:44:38 +03:00
Swastik Baranwal
b5b5176f9b
string: add filter method (#5812) 2020-07-12 21:07:28 +03:00
Nedim
8674991bac
smtp: add mail sent confirmation and tests for smtp lib (#5813) 2020-07-12 20:42:11 +03:00
Takeru Tanaka
f61a7bf3df
os,rand.mt19937: fix broken links in code comments (#5806) 2020-07-12 16:18:52 +03:00
Delyan Angelov
d28a1042a0 net.http, net.websocket: allow importing both in the same app 2020-07-12 15:21:40 +03:00
Delyan Angelov
53ee5eb043 vfmt: fix removing cmod. in []Enum return values 2020-07-12 14:40:50 +03:00
Nick Treleaven
53023c1ca9
all: add UnsafeExpr (#5793) 2020-07-12 12:58:33 +02:00
Alexander Medvednikov
cad816a19d gg: text_height() 2020-07-12 12:48:42 +02:00
Delyan Angelov
9c43d36513 parser,checker: add -d trace_parser, -d trace_checker 2020-07-12 12:56:01 +03:00
Delyan Angelov
23c8e1f06d checker: add support for -d debug_stmts to ease debugging checker panics 2020-07-12 12:04:39 +03:00
Alexander Medvednikov
40da32a141 gg: text_width() 2020-07-12 01:46:21 +02:00
Nedim
25c397f921
net.smtp: remove credentials from the test (#5808) 2020-07-11 21:19:36 +02:00
Nedim
549c4f54cd
net: implementation of SMTP RFC 2821 (#5807) 2020-07-11 21:05:24 +02:00
Delyan Angelov
c891014c77 scanner: reduce memory, increase speed for long commented sections 2020-07-11 21:27:39 +03:00
Delyan Angelov
022cc72740 scanner: parse multiple comments and long strings without a stackoverflow 2020-07-11 20:52:08 +03:00
Alexander Medvednikov
a2cb01e16a parser: parse _x64.v files only with -x64 2020-07-11 19:03:59 +02:00
Alexander Medvednikov
d4dd5645fe parser: remove strconv import 2020-07-11 18:53:50 +02:00
Delyan Angelov
498c8cfc8e builtin: skip print_backtraces on panics with tcc, it does it automatically 2020-07-11 17:51:06 +03:00
yuyi
9b4c81e85f
checker: check missing return values in functions (#5803) 2020-07-11 16:30:49 +02:00
Delyan Angelov
37d739684c checker: prevent string(byte), suggest byte.str() instead 2020-07-11 17:09:22 +03:00
ka-weihe
ae349ca6ba
cgen: fix all -Wmissing-variable-declarations (#5802) 2020-07-11 15:37:40 +02:00
Alexander Medvednikov
59df2db4e0 ci: disable C++ test for now 2020-07-11 15:36:08 +02:00
Delyan Angelov
26768e8514 vfmt: strip current_module. in fn args more robustly 2020-07-11 16:09:20 +03:00
Delyan Angelov
b55f84c0a8 vfmt: turn off module is imported but never used for vfmt 2020-07-11 15:03:37 +03:00
Delyan Angelov
7c0a298701 vfmt: fix crash when a .v file contains only imports 2020-07-11 14:54:55 +03:00
Delyan Angelov
3aeca70970 benchmark: update the example in the README.md 2020-07-11 14:54:55 +03:00
Alexander Medvednikov
ab3c1f2a08 prealloc: skip frees for now 2020-07-11 13:22:18 +02:00
yuyi
fae601fe39
array: add reverse_in_place for performance (#5798) 2020-07-11 13:17:11 +02:00
Alexander Medvednikov
b92ce38593 os: fix v_realloc call on windows 2020-07-11 12:45:22 +02:00
Alexander Medvednikov
2e275731a3 websocket: fix compilation 2020-07-11 12:41:37 +02:00
Alexander Medvednikov
649821be4c all: use v_realloc 2020-07-11 12:37:54 +02:00
Alexander Medvednikov
2a696cb837 vet: prohibit spaces before ) 2020-07-11 12:14:19 +02:00
Alexander Medvednikov
d94a02ba79 strings: builder.writeln() optimization 2020-07-11 12:03:24 +02:00
Alexander Medvednikov
549d7a487d tests: fix scanner_test.v 2020-07-11 11:51:58 +02:00
Alexander Medvednikov
d4d552fb00 vet: prohibit spaces after ( 2020-07-11 11:41:39 +02:00
Alexander Medvednikov
a1073105e1 all: re-enable -prealloc 2020-07-11 11:25:56 +02:00
Delyan Angelov
006d260d20 vfmt: keep vproto.Name, in module proto in struct inits too 2020-07-11 02:42:57 +03:00
Uwe Krüger
646df49c74
builtin: fix string.hash method for gcc -O2 (#5794) 2020-07-11 01:18:52 +03:00
Delyan Angelov
7248d8422e vfmt: keep vproto.Name, when current module is proto 2020-07-11 00:59:19 +03:00
pancake
7d6ba2d07d
checker: add error when interface i, without a .str() method, have i.str() called (#5788) 2020-07-10 22:47:29 +03:00
Delyan Angelov
2fb5c91f4d scanner: remove error check for embedded \x00 chars in c'literals' 2020-07-10 21:42:03 +03:00
yuyi
bf14e666ea
cgen: add gen_map_equality_fn to compare maps (#5770) 2020-07-10 18:08:17 +02:00
yuyi
0c9c66dd6b
cgen: fix mutable array arguments (#5769) 2020-07-10 18:04:51 +02:00
Emily Hudson
7488dd829d
all: _allow_multiple_values enum attribute (#5772) 2020-07-10 16:43:02 +02:00
Delyan Angelov
88946a34bb checker: limit showing too many unhandled match cases 2020-07-10 15:49:02 +03:00
penguindark
e85c1fb762
utf8: bug fix in get_uchar (#5775) 2020-07-10 14:44:40 +02:00
Swastik Baranwal
9839b0eb7f
parser: handle a,b += 1,1 (fix #5735) (#5783) 2020-07-10 13:59:17 +02:00
Delyan Angelov
75b7b9564a builder: show the contents of the C .rsp file on -showcc 2020-07-10 13:07:20 +03:00
Delyan Angelov
ca9790a71f vweb: ensure the tcp connection is always closed at the end of the response 2020-07-10 10:49:39 +03:00
Delyan Angelov
d3e676bdc1 orm: use errcode comparisons, instead of strcmp(sqlite3_errmsg,msg) 2020-07-10 10:14:30 +03:00
Uwe Krüger
581603f2bd
fmt: make formatter know about new keywords shared, rlock (#5779) 2020-07-09 22:41:45 +02:00
Daniel Däschle
fb927dab60
checker: check all branches for return (#5763) 2020-07-09 22:38:43 +02:00
Uwe Krüger
194ecda829
fmt: array_init: use line breaks of first elements in every hierarchy (#5777) 2020-07-09 22:36:49 +02:00
Lukas Neubert
14d83c8457
orm: fix invalid no more rows available error (#5774) 2020-07-09 22:36:01 +02:00
Uwe Krüger
e47ad33af6
fmt: format array elements line-by-line when nl after [ (#5776) 2020-07-09 19:47:12 +02:00
yuyi
31ac20876c
cgen: minor formatting of struct_init (#5768) 2020-07-09 17:25:48 +02:00
Louis Schmieder
3792e17885
vweb: fix routing for 0 params (#5773) 2020-07-09 17:16:02 +02:00
Daniel Däschle
c5dc1a33b6
all: remove it smartcast and replace with original variable name (#5764) 2020-07-09 17:14:14 +02:00
Alexander Medvednikov
9511b7d0a1 cc: do not use -ldl in cross compiling for now 2020-07-09 12:29:49 +02:00
Alexander Medvednikov
8c338a7c3b cc: format and fix linuxroot download 2020-07-09 12:26:15 +02:00
Alexander Medvednikov
dfa29b6e4d fast: fix 1mil.v test 2020-07-09 11:56:31 +02:00
Delyan Angelov
73a259496e tests: support VTEST_ONLY=fn_,match_ ./v test-fixed and in compiler_test.v 2020-07-09 10:47:16 +03:00
Delyan Angelov
ce31c4c03e tests: support VTEST_ONLY=parser ./v vlib/v/compiler_errors_test.v 2020-07-09 10:27:31 +03:00
Louis Schmieder
373aa3dbc8
vweb: router: fix trailing / (#5760) 2020-07-08 22:15:37 +02:00
Alexander Medvednikov
b8d762df97 gg: use D3D and stb_truetype on Windows; 2020-07-08 21:43:27 +02:00
Tomas Hellström
2790890bc2
ci: use pre built docker containers for musl (#5759) 2020-07-08 21:30:57 +03:00
Daniel Däschle
c0fa31e75a
cgen: if smartcast part 3 (#5755) 2020-07-08 19:14:47 +02:00
Alexander Medvednikov
03b76d19f1 repl: make the info message a bit smaller 2020-07-08 17:22:38 +02:00
Daniel Däschle
e7cd496c31
parser: smartcast fix (#5756) 2020-07-08 16:08:44 +02:00
Nick Treleaven
f834276803
doc: struct literals (#5726) 2020-07-08 16:02:35 +02:00
yuyi
64e9bdc213
parser: fix non-void optional fn missing return value (fix #5736) (#5741) 2020-07-08 16:01:17 +02:00
Daniel Däschle
5ea17ad2d4
all: if smartcast part 2 (#5754) 2020-07-08 15:46:58 +02:00
Louis Schmieder
7ad03e9d6a
vweb: simplify router (#5751) 2020-07-08 15:22:03 +02:00
Daniel Däschle
b62bf59c21
all: if-is smartcast part 1 (#5730) 2020-07-08 15:17:28 +02:00
Emily Hudson
3b0dfd9ae1
cc: use @response files to avoid command line length limits (#5750) 2020-07-08 15:50:17 +03:00
Delyan Angelov
69d3c3f596 cgen: sort const inits/cleanups topologically, skip calling non fn init(){} fns 2020-07-08 14:28:58 +03:00
Alexander Medvednikov
2425c05c42 Revert "cgen: sort const inits/cleanups topologically too"
This reverts commit 38000f8622.
2020-07-08 12:56:56 +02:00
Uwe Krüger
88248b1b66
cgen: add support for shared arrays (#5721) 2020-07-08 11:05:43 +02:00
Delyan Angelov
38000f8622 cgen: sort const inits/cleanups topologically too 2020-07-08 11:22:30 +03:00
Ruofan XU
9c87ace153
cgen: fix cross assign for functions (#5734) 2020-07-08 09:17:26 +03:00
Louis Schmieder
3bb1d24dad
parser: add template path by fn name for vweb (#5737) 2020-07-08 09:12:57 +03:00
yuyi
bd16dd9fdf
cgen: fix assert sumtype is (#5739) 2020-07-08 09:05:01 +03:00
yuyi
b0ce66d141
gen: fix generated defer (#5717) 2020-07-08 08:39:11 +03:00
Alexander Medvednikov
246e7e8464 vweb: form error 2020-07-07 21:35:59 +02:00
Emily Hudson
cdfb578565
builder: cache msvc (#5733) 2020-07-07 20:35:49 +02:00
joe-conigliaro
c99200918e
checker: fix if 2020-07-08 01:42:42 +10:00
joe-conigliaro
2480cce1ed
checker: optimize if & fix typo 2020-07-08 01:36:48 +10:00
Alexander Medvednikov
e0fcd565d5 gg: fix default text size 2020-07-07 17:33:24 +02:00
joe-conigliaro
5fd5e558ae
parser/checker/gen: anon fn direct call with args 2020-07-08 01:10:39 +10:00
Louis Schmieder
f8a89e3f8f
gg: fix text rendering (#5727) 2020-07-07 17:09:35 +02:00
Louis Schmieder
2a7a6fa1eb
orm: add delete stmt (#5725) 2020-07-07 16:55:32 +02:00
Alexander Medvednikov
4d7d1eb0c4 http: referer() 2020-07-07 14:37:43 +02:00
yuyi
dc24327b1e
cgen: minor optionals fix (#5714) 2020-07-07 14:21:02 +02:00
Tarang11
68e01d87be
checker: fix multi assignment for multiple fns (#5716) 2020-07-07 14:18:51 +02:00
Louis Schmieder
d2d4ea42ce
vweb: add url query (#5719) 2020-07-07 13:46:57 +02:00
yuyi
4490cd2e8a
os: replace panics with optionals (#5718) 2020-07-07 12:41:42 +02:00
Alexander Medvednikov
a6450e8e98 vweb: fix and simplify routing 2020-07-07 12:35:45 +02:00
Uwe Krüger
ef02373061
all: remove rwshared keyword, make its semantics default for shared (#5710) 2020-07-07 01:57:31 +02:00
Alexander Medvednikov
013c0e6e16 gg: make FT private 2020-07-06 21:40:24 +02:00
Alexander Medvednikov
48f1f814d2 gg: minor fixes 2020-07-06 20:40:54 +02:00
Alexander Medvednikov
0ed8199da2 gg: merge ft module 2020-07-06 20:29:09 +02:00
yuyi
43c8726c37
cgen: minor optimization of comptime (#5705) 2020-07-06 19:58:21 +02:00
Alexander Medvednikov
1f3d7d393e gg: simplify text rendering 2020-07-06 19:45:00 +02:00
Leah Lundqvist
cfa8e0a81a
js: |0 -> parseInt (#5703) 2020-07-06 18:09:54 +02:00
joe-conigliaro
9a4d989188
test: move sumtype int cast test into fn & test var 2020-07-06 23:39:51 +10:00
Leah Lundqvist
659aa8db3c
js: fix int division (#5701) 2020-07-06 15:24:24 +02:00
Delyan Angelov
6b2777e681 compiler: support VTMP; tests: delete .tmp.c files on successfull tests 2020-07-06 15:08:46 +03:00
joe-conigliaro
d82e6c9cd9
checker/table: fix sumtype cast from int literal 2020-07-06 21:27:48 +10:00
Delyan Angelov
25771a1afe compiler: remove -keepc option (it is now always on) 2020-07-06 13:42:18 +03:00
yuyi
c94038af89
cgen: improve generated code formatting (#5693) 2020-07-06 12:33:57 +02:00
yuyi
fc7237be7b
checker: fix cast to sum type (fix #5690) (#5692) 2020-07-06 12:32:59 +02:00
yuyi
f41edef4c6
checker: add 1/0x0 1/0b0.. division by zero check (#5694) 2020-07-06 12:32:00 +02:00
Uwe Krüger
c3614c0e38
cgen, sync: implement separate read/write locks for rwshared types (#5687) 2020-07-05 22:53:28 +02:00
Louis Schmieder
3cd9e2cab7
vweb: fix index (#5682) 2020-07-05 22:05:58 +02:00
spaceface777
d0e321c8a3
fmt: allow parsing files without fn main() (#5681) 2020-07-05 20:53:01 +02:00
KrisChambers
8d035a446a
Fix v/parser: Failure to parse structs with fields typed as anonymous functions returning having an optional void (?) return type. (#5684)
* Handle optional void return type in function types in struct fields.

* Add more testing for optional return types in struct fields.

* Move language parsing into it's own function

* Fix issue caused by not setting typ.

* Fix test for structs containing anon fn with optional void return types
2020-07-05 19:29:39 +02:00
Alexander Medvednikov
f6ab63f3a0 stbi: remove opengl call 2020-07-05 19:28:31 +02:00
Delyan Angelov
1416c70e73 net.websocket: fix building client.v 2020-07-05 18:44:39 +03:00
joe-conigliaro
4e66728477
checker/table: rearrange sumtype check fns 2020-07-06 00:53:56 +10:00
Alexander Medvednikov
36183660e6 remove oldgg, gl, glfw, freetype from vlib now that we have the new sokol based gg 2020-07-05 16:44:28 +02:00
yuyi
96bd4e8794
parser: fix type detection in match (#5679) 2020-07-05 16:35:45 +02:00
joe-conigliaro
9d7f1a236a
checker/gen: fix nested sumtype matching 2020-07-06 00:25:04 +10:00
yuyi
34a24eaa4e
checker: validate loop var names (#5677) 2020-07-05 15:27:37 +02:00
yuyi
cda9240632
cgen: add unsafe block braces and comments in generated code (#5674) 2020-07-05 13:32:39 +02:00
Delyan Angelov
770ffa1ebd crypto.rand: fix linux/solaris rand.read() compilation 2020-07-05 01:33:43 +03:00
Alexander Medvednikov
188bad4f38 vfmt: handle string attrs 2020-07-04 23:38:28 +02:00
Enzo
7778cbe9f5
all: make os global in scripts (#5669) 2020-07-04 23:37:41 +02:00
yuyi
11866fb017
cgen: improve code formatting of array_init (#5663) 2020-07-04 21:49:04 +02:00
Delyan Angelov
f374e37b61 checker: add details about a non matching functional argument 2020-07-04 22:37:06 +03:00
Delyan Angelov
108913c69e checker: handle error token positions with negative pos.len 2020-07-04 21:55:14 +03:00
Delyan Angelov
0637feb382 checker: use a more readable error message for non matching fn args 2020-07-04 21:23:22 +03:00
Delyan Angelov
db4a9d6b59 checker: stricter check for function type signatures 2020-07-04 21:01:08 +03:00
Ryan Willis
bb6ab185c3
ci: fix periodic integration tests (#5666) 2020-07-04 19:52:25 +02:00
Daniel Däschle
0626ac2901
checker: fix position of infix expr error 2020-07-04 18:52:40 +02:00
div72
be04de98bb
checker: check for enum value duplicates/overflow (#5659) 2020-07-04 18:28:01 +03:00
Delyan Angelov
b018381f10 vfmt: fix as var in match expr as var {} 2020-07-04 16:46:46 +03:00
Delyan Angelov
fe50bdc164 vfmt: ran v vet vlib/v/ and fix spaces 2020-07-04 16:19:54 +03:00
Delyan Angelov
d2a2db7bff vfmt: format scanner.v 2020-07-04 16:14:30 +03:00
Delyan Angelov
5b93b4f37d vfmt: allow multiple comments after if branches 2020-07-04 16:13:58 +03:00
Delyan Angelov
68af46402e vvet: allow passing many files, improve specifity for emacs goto error 2020-07-04 15:29:00 +03:00
Delyan Angelov
dc3101384f checker: cleanup indentation 2020-07-04 14:45:11 +03:00
Delyan Angelov
48029fa9ad checker: check .str() calls too 2020-07-04 14:43:01 +03:00
Delyan Angelov
35431d457b checker: add check for strict .str() method signature 2020-07-04 14:14:43 +03:00
Delyan Angelov
4403c76406 vfmt: print or { } on a single line 2020-07-04 14:14:43 +03:00
Delyan Angelov
bae9ed0350 os: fix file.writeln(s) too, where s contains 0 bytes 2020-07-04 14:14:43 +03:00
Uwe Krüger
3b067f5f85
all: experimental locked concurrency support, part 1 (#5637) 2020-07-04 12:44:25 +02:00
yuyi
27149ba8bc
cgen: fix in in mutable arrays (#5647) 2020-07-04 12:12:44 +02:00
Ruofan XU
765ffa37eb
cgen: fix == for mut arraay args (#5648) 2020-07-04 11:36:33 +02:00
joe-conigliaro
da98c3c135
checker: use new match syntax everywhere 2020-07-04 19:23:41 +10:00
joe-conigliaro
cdd4a7c880
checker: only check ForInStmt.high once 2020-07-04 19:10:37 +10:00
div72
95696559b7
os: fix early termination when saving binary (#5646) 2020-07-04 01:48:01 +02:00
Ruofan XU
37f31da6c9
parser: minor simplification (#5645) 2020-07-03 23:22:43 +02:00
Alexander Medvednikov
3d3549d65a Revert "parser: advanced division by zero check (#5629)"
This reverts commit f03688e443.
2020-07-03 22:30:51 +02:00
Alexander Medvednikov
e9e437ce05 repl: show short version 2020-07-03 22:30:34 +02:00
Alexander Medvednikov
244d61f8d0 vweb: fix a route matching bug 2020-07-03 22:00:17 +02:00
yuyi
67e85fa9dd
cgen: fix indent in for_in_string (#5631) 2020-07-03 18:10:45 +02:00
yuyi
61213263cd
cgen: remove extra \n in map.get (#5630) 2020-07-03 18:10:29 +02:00
Nick Treleaven
0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640) 2020-07-03 18:10:10 +02:00
Ruofan XU
a2395ff3e8
cgen: fix mut map with relation op in fn (#5642) 2020-07-03 18:07:11 +02:00
yuyi
9e949622d3
vrepl: pre-imported common modules (#5643) 2020-07-03 18:06:36 +02:00
Alexander Medvednikov
2281163efd vweb: fix a routing bug 2020-07-03 17:50:48 +02:00
Tom Leen
51410fdb6d
vweb: add .txt and .md mime types (#5641) 2020-07-03 17:17:25 +02:00
Delyan Angelov
8adaf4efd4 cgen: allow -printfn main for _test.v files too 2020-07-03 17:53:48 +03:00
Delyan Angelov
652380c5fd cgen: fix -printfn main 2020-07-03 17:42:59 +03:00
yuyi
dff385cb37
cgen: fix map_in mut (#5638) 2020-07-03 17:33:53 +03:00
Delyan Angelov
df2749dd50 vfmt: fix indent level of commented match branches 2020-07-03 17:16:20 +03:00
Alexander Medvednikov
b7175b54eb vweb: ['/:arg1/:arg2/action'] attribute 2020-07-03 15:10:39 +02:00
yuyi
f03688e443
parser: advanced division by zero check (#5629) 2020-07-03 11:28:00 +02:00
yuyi
1efbb83060
cgen: add space before else in match (#5632) 2020-07-03 11:23:23 +02:00
Delyan Angelov
3c432f5e07 orm: require order by instead of just order 2020-07-02 23:37:30 +03:00
Delyan Angelov
7004f74b71 orm: fix LIMIT var as well 2020-07-02 23:29:29 +03:00
Louis Schmieder
421b6d4a80
orm: fix offset when order is given too (#5625) 2020-07-02 23:22:52 +03:00
Delyan Angelov
5813d2bf72 net.socket: add s.peer_ip() 2020-07-02 23:02:56 +03:00
Louis Schmieder
b89cbf3224
orm: add support for ordering (#5624) 2020-07-02 20:29:22 +03:00
yuyi
68ac8fde26
tests: add mixed and complex types tests for cross assign (#5622) 2020-07-02 18:20:03 +02:00