Xavier B
|
3e9dc578de
|
checker: disallow interfaces inside sum types (#6232)
|
2020-08-27 08:33:59 +02:00 |
Alexander Medvednikov
|
6921d46185
|
all: rune type for `` literals
|
2020-08-27 06:46:37 +02:00 |
Uwe Krüger
|
393b46a6dd
|
channels: make `ch.len` and `ch.cap` available as properties (#6221)
|
2020-08-26 06:41:51 +02:00 |
Nick Treleaven
|
479bfa28de
|
cgen: implement fixed array `.len` property (#6212)
|
2020-08-25 08:48:28 +02:00 |
Nick Treleaven
|
acc5c95f0d
|
checker: error with `*expr` if not a pointer (#6211)
|
2020-08-24 17:19:17 +02:00 |
Alexander Medvednikov
|
d547f74cb0
|
checker/cgen: interface smart casts
|
2020-08-24 11:10:26 +02:00 |
Uwe Krüger
|
61df70fdf5
|
all: enable `x = <-ch or {...}` (#6195)
|
2020-08-23 02:12:05 +02:00 |
Daniel Däschle
|
fcc61a981d
|
all: TypeSymbol.source_name (#6187)
|
2020-08-22 12:29:15 +02:00 |
Delyan Angelov
|
06967d9297
|
sort: require a mutable receiver
|
2020-08-21 21:19:37 +03:00 |
Daniel Däschle
|
0c183da116
|
checker: fix sort return type (#6182)
|
2020-08-20 17:29:40 +03:00 |
Nick Treleaven
|
217f04e311
|
checker: disallow casting to bool, use `some_int != 0` instead (#6138)
|
2020-08-19 14:37:55 +02:00 |
joe-conigliaro
|
c599a4c7de
|
checker: remove pos+1 on innermost call
|
2020-08-18 07:39:40 +10:00 |
Uwe Krüger
|
0d7cc8829a
|
cgen: implement channel `push()`/`pop()` using `<-` operator (#6154)
|
2020-08-17 23:35:36 +02:00 |
Daniel Däschle
|
b5c1ea44dc
|
all: fix mutability after if-smartcast (#6129)
|
2020-08-17 21:11:11 +02:00 |
Swastik Baranwal
|
46b4e2a0cd
|
checker: check`match` types (#6149)
|
2020-08-17 20:19:21 +02:00 |
Uwe Krüger
|
9a5f040f72
|
all: handle `<-` arrow token for channel operations (#6152)
|
2020-08-17 20:12:00 +02:00 |
Nick Treleaven
|
6ba6a22a77
|
checker: prevent from casting non-struct to struct (#6143)
|
2020-08-17 11:19:44 +02:00 |
Enzo
|
a02593204f
|
checker: forbid aliasing an alias (#6118)
|
2020-08-16 04:53:16 +02:00 |
Uwe Krüger
|
9602a25a0b
|
all: add builtin channel type `chan elem_type` (#6126)
|
2020-08-14 21:18:42 +02:00 |
Daniel Däschle
|
b2fee21ef3
|
checker: check struct casting (#5864)
|
2020-08-14 14:57:08 +02:00 |
Nick Treleaven
|
6016f28171
|
cgen: fix assigning ArrayInit to fixed array: `a = [3]int` (#6115)
|
2020-08-14 13:57:00 +02:00 |
Alexander Medvednikov
|
88cde776e7
|
checker: more clear string error
|
2020-08-13 23:21:15 +02:00 |
Delyan Angelov
|
da7adb5b1b
|
ci: fix failing tests for compiler_errors_test.v
|
2020-08-13 13:16:41 +03:00 |
Alexander Medvednikov
|
e5e31f7210
|
sort: handle `.sort(a.field > b.field)`
|
2020-08-12 06:11:40 +02:00 |
Alexander Medvednikov
|
4bc0dde413
|
all: new `.sort(a < b)` syntax
|
2020-08-12 05:54:51 +02:00 |
Alexander Medvednikov
|
9800cf1e7b
|
checker: improve array errors; gg: remove unused imports
|
2020-08-12 03:54:17 +02:00 |
Swastik Baranwal
|
9fdb1701e0
|
checker: add a check for str[i] = `a` (#6107)
|
2020-08-11 17:41:54 +02:00 |
Alexander Medvednikov
|
c5aa2bfa51
|
tests: fix a match test
|
2020-08-11 16:26:52 +02:00 |
Alexander Medvednikov
|
6d72209363
|
checker: minor c2v fixes
|
2020-08-11 00:51:15 +02:00 |
Alexander Medvednikov
|
11113e43e7
|
checker: a minor perf fix
|
2020-08-10 23:59:42 +02:00 |
Nick Treleaven
|
d8d82a0be4
|
checker: make `has_return` fn more efficient (#6103)
|
2020-08-10 23:59:08 +02:00 |
Alexander Medvednikov
|
88988817d0
|
parser: minor `match` simplification
|
2020-08-10 19:54:38 +02:00 |
Delyan Angelov
|
36eae1c175
|
builtin: x.vstring() instead of string(x) (#6102)
|
2020-08-10 18:05:26 +02:00 |
Alexander Medvednikov
|
c65dbe51d6
|
parser: c2v fixes
|
2020-08-09 03:58:14 +02:00 |
Alexander Medvednikov
|
ea76a33b43
|
remove freetype references everywhere
|
2020-08-06 17:23:57 +02:00 |
Enzo
|
f238890fe9
|
compiler: move attributes to declarations (#6026)
|
2020-08-04 20:10:22 +02:00 |
Nick Treleaven
|
7f447bb82f
|
ast: use Block instead of UnsafeStmt (#5981)
|
2020-08-02 14:06:44 +03:00 |
Alexander Medvednikov
|
a1593e7db8
|
checker: 1 line v fmt fix
|
2020-08-01 23:41:32 +02:00 |
Swastik Baranwal
|
d56d622a43
|
checker: add checks for byte casting (#5917)
|
2020-08-01 23:17:00 +02:00 |
spaceface777
|
4f37202b72
|
checker: allow struct fields starting with capitals in builtin (#5998)
|
2020-08-01 23:01:40 +02:00 |
Delyan Angelov
|
f300f787f3
|
checker: add suggestions for method mispellings and unknown types
|
2020-07-30 18:48:16 +03:00 |
Alexander Medvednikov
|
f269cbdc94
|
Revert "parser: Support `unsafe(expr)` (#5973)"
This reverts commit 19c226fcf8 .
|
2020-07-29 21:41:47 +02:00 |
Delyan Angelov
|
9c9533dad9
|
checker: add error for `fn f() Struct { return &Struct{} }` (#6019)
|
2020-07-29 21:40:43 +02:00 |
Swastik Baranwal
|
4500e7131e
|
checker: add a checker error for fn calls on left side of an assignment (#5993)
|
2020-07-29 18:33:00 +03:00 |
Delyan Angelov
|
9c028bb299
|
checker: fix passing enum to a method expecting string
|
2020-07-28 13:50:40 +03:00 |
Nick Treleaven
|
19c226fcf8
|
parser: Support `unsafe(expr)` (#5973)
|
2020-07-28 11:20:52 +03:00 |
joe-conigliaro
|
61c1c4a690
|
checker: add error for invalid sum type cast `MySt{1}`
|
2020-07-28 01:04:04 +10:00 |
Alexander Medvednikov
|
3d19167628
|
http: fix cookies (part 2)
|
2020-07-26 22:01:25 +02: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 |
Alexander Medvednikov
|
34907f7605
|
checker: do not allow assigning immutable refs to mutable vars
|
2020-07-25 18:32:36 +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 |
Alexander Medvednikov
|
632e27a4a9
|
all: fix a big mutability bug and update all mutable vars
|
2020-07-23 23:16:36 +02:00 |
Uwe Krüger
|
6586a9a657
|
fmt: give braced sub expressions a higher priority (#5941)
|
2020-07-23 00:32:34 +02: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 |
spaceface777
|
f4251dded0
|
checker: suggest using `:=` when assigning to undefined variable (#5911)
|
2020-07-21 19:49:53 +03:00 |
Alexander Medvednikov
|
059722f211
|
checker: minor vfmt run
|
2020-07-20 22:30:09 +02: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 |
Nick Treleaven
|
e6fc8eb015
|
checker: check that array slicing indexes are valid (#5892)
|
2020-07-20 19:52:03 +03:00 |
Enzo
|
8a855ccae1
|
fmt,vet: handle `var in [single_value]` (#5882)
|
2020-07-19 19:58:34 +02:00 |
Ryan Willis
|
1114fd28d0
|
all: import individual symbols feature (#5872)
|
2020-07-18 21:34:38 +02:00 |
XeGrox
|
e5a508c0d7
|
checker: fix inability to access aliased struct fields (#5861)
|
2020-07-18 13:58:16 +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 |
Uwe Krüger
|
ea322bdd97
|
checker, cgen: fix call of generic function returning normal type (#5865)
|
2020-07-17 18:28:45 +02:00 |
spaceface777
|
3583302ad4
|
parser: force `...` rather than `..` in matches for inclusive ranges (#5852)
|
2020-07-17 11:30:21 +03:00 |
Alexander Medvednikov
|
9b2cbdacc6
|
vfmt: verify
|
2020-07-16 19:46:03 +02:00 |
Alexander Medvednikov
|
e4fac6ff97
|
autofree: fix scope position
|
2020-07-16 19:40:14 +02:00 |
spaceface777
|
b900577dae
|
compiler: handle ranges as `match` conditions (#5847)
|
2020-07-16 16:41:18 +03:00 |
Nick Treleaven
|
4b0ded0475
|
checker: Warn instead of error for pointer arithmetic (#5840)
|
2020-07-15 19:59:39 +02:00 |
Delyan Angelov
|
cf7d03bda6
|
builtin: implement array.pop()
|
2020-07-14 20:01:39 +03:00 |
Delyan Angelov
|
5ad957f270
|
vfmt: fix formatting for `x, _ := f()`
|
2020-07-14 19:11:16 +03:00 |
Alexander Medvednikov
|
899c69caf1
|
checker: fix dup const test
|
2020-07-14 17:24:08 +02:00 |
Alexander Medvednikov
|
d33fbe4547
|
checker: format + fix duplicate const error
|
2020-07-14 17:18:10 +02:00 |
joe-conigliaro
|
dd06d90466
|
checker/gen: temp hack for struct fn type field (fixes ui)
|
2020-07-14 03:59:00 +10:00 |
Uwe Krüger
|
6e6010d198
|
checker, cgen: implement auto-lock for `a[i]++`, `a[i]--` (#5817)
|
2020-07-13 15:01:32 +03:00 |
Uwe Krüger
|
aa364ddaca
|
checker, cgen: checks for shared/lock, first autolock (#5815)
|
2020-07-13 12:19:28 +02:00 |
Nick Treleaven
|
53023c1ca9
|
all: add UnsafeExpr (#5793)
|
2020-07-12 12:58:33 +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 |
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 |
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 |
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 |
Daniel Däschle
|
fb927dab60
|
checker: check all branches for return (#5763)
|
2020-07-09 22:38:43 +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 |
Daniel Däschle
|
c0fa31e75a
|
cgen: if smartcast part 3 (#5755)
|
2020-07-08 19:14:47 +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 |
Daniel Däschle
|
b62bf59c21
|
all: if-is smartcast part 1 (#5730)
|
2020-07-08 15:17:28 +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 |
joe-conigliaro
|
5fd5e558ae
|
parser/checker/gen: anon fn direct call with args
|
2020-07-08 01:10:39 +10:00 |
Alexander Medvednikov
|
4d7d1eb0c4
|
http: referer()
|
2020-07-07 14:37:43 +02:00 |
Tarang11
|
68e01d87be
|
checker: fix multi assignment for multiple fns (#5716)
|
2020-07-07 14:18:51 +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
|
1f3d7d393e
|
gg: simplify text rendering
|
2020-07-06 19:45:00 +02:00 |
joe-conigliaro
|
d82e6c9cd9
|
checker/table: fix sumtype cast from int literal
|
2020-07-06 21:27:48 +10: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 |
joe-conigliaro
|
4e66728477
|
checker/table: rearrange sumtype check fns
|
2020-07-06 00:53:56 +10: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 |
Enzo
|
7778cbe9f5
|
all: make `os` global in scripts (#5669)
|
2020-07-04 23:37:41 +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 |
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
|
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 |
Uwe Krüger
|
3b067f5f85
|
all: experimental locked concurrency support, part 1 (#5637)
|
2020-07-04 12:44:25 +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 |
Alexander Medvednikov
|
3d3549d65a
|
Revert "parser: advanced division by zero check (#5629)"
This reverts commit f03688e443 .
|
2020-07-03 22:30:51 +02:00 |
Nick Treleaven
|
0b49e4db1c
|
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640)
|
2020-07-03 18:10:10 +02: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 |
Louis Schmieder
|
b89cbf3224
|
orm: add support for ordering (#5624)
|
2020-07-02 20:29:22 +03:00 |
Nick Treleaven
|
e7339fec15
|
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} (#5581)
|
2020-07-01 14:50:17 +02:00 |
Delyan Angelov
|
78e1127d99
|
cgen: treat the main module like any other v module
|
2020-07-01 00:53:53 +02:00 |
Uwe Krüger
|
8a46911725
|
checker: check if mut function arg is declared as mut (#5579)
|
2020-06-30 14:19:22 +02:00 |
joe-conigliaro
|
ab37dcaa9c
|
generic structs: initial implementation
|
2020-06-29 20:09:09 +02:00 |
Alexander Medvednikov
|
d2c508e9a9
|
checker: clean up
|
2020-06-28 19:44:41 +02:00 |
Alexander Medvednikov
|
219ecd18b5
|
orm: handle unknown tbale names
|
2020-06-28 19:01:30 +02:00 |
Alexander Medvednikov
|
3dea698c93
|
checker: do not register pseudo variables in sql queries
|
2020-06-28 18:56:11 +02:00 |
Alexander Medvednikov
|
190f970544
|
checker: handle limit and offset
|
2020-06-27 16:41:29 +02:00 |
Uwe Krüger
|
8fe70a24a8
|
checker: forbid non-reference mut arg or receiver of go function
|
2020-06-26 23:31:38 +02:00 |
joe-conigliaro
|
2440ffd013
|
cgen: always unwrap generic type. fix `x := &T{}`
|
2020-06-27 00:31:36 +10:00 |
Alexander Medvednikov
|
aec7f2f6c4
|
checker: SqlStmt fixes
|
2020-06-25 22:37:40 +02:00 |
Alexander Medvednikov
|
328cb7ed7e
|
orm: `update` with selectors and other fixes
|
2020-06-25 22:23:19 +02:00 |
Alexander Medvednikov
|
b280e08ee0
|
orm: `update` cgen
|
2020-06-25 17:12:32 +02:00 |
Alexander Medvednikov
|
a8b0dfb38a
|
checker: allow casting strings to string aliases
|
2020-06-25 14:55:53 +02:00 |
Alexander Medvednikov
|
ce6f687f65
|
checker: remove an unnecessary error for unexisting types
|
2020-06-25 14:51:58 +02:00 |
Alexander Medvednikov
|
afa5a134b7
|
orm: move fields fetching to a separate function to remove copy pasta
|
2020-06-25 14:43:25 +02:00 |
Alexander Medvednikov
|
786be1d1c3
|
orm: move type logic to checker, so that sql queries can be used before type def
|
2020-06-25 12:05:24 +02:00 |
Alexander Medvednikov
|
83b300435a
|
vweb: escape html; table: rename parent_typ to parent_type
|
2020-06-24 22:12:33 +02:00 |
Alexander Medvednikov
|
4b0e606ae8
|
checker: fix the alias check
|
2020-06-24 16:52:23 +02:00 |
Alexander Medvednikov
|
9df29d0dd2
|
checker: do not allow {} for aliases; orm: update stmt
|
2020-06-24 16:35:18 +02:00 |
Alexander Medvednikov
|
9d0cc7912a
|
fmt: re-run on gen/fn.v
|
2020-06-24 14:56:44 +02:00 |
Alexander Medvednikov
|
e918f8faf2
|
fmt: re-run on checker.v and cgen.v
|
2020-06-24 14:44:06 +02:00 |
Alexander Medvednikov
|
090e6e936a
|
orm: SqlStmt
|
2020-06-24 14:32:17 +02:00 |
Daniel Däschle
|
852fca2151
|
all: call anon fns right away
|
2020-06-24 12:54:39 +02:00 |
yuyi
|
514ee9d396
|
cgen: fix optional void return error
|
2020-06-24 12:45:15 +02:00 |
yuyi
|
7efb3ecb34
|
checker: check deprecated functions
|
2020-06-23 16:25:24 +02:00 |