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

14398 Commits

Author SHA1 Message Date
yuyi
7d8c386721
datatypes: change optional to result (#16546) 2022-11-28 10:24:47 +02:00
Delyan Angelov
1d24dbe602
builtin: document string.to_wide() and string_from_wide()/1 2022-11-28 09:46:04 +02:00
Delyan Angelov
73675dca87
builtin: move v_segmentation_fault_handler to builtin.c.v, make it more informative 2022-11-27 12:11:06 +02:00
Delyan Angelov
fdbd40d806
scanner: make Scanner.peek_token more robust (p.peek_token(-999999) will return an EOF token, instead of garbage data) 2022-11-27 12:09:43 +02:00
Delyan Angelov
50b73abc62
parser: add p.show() to ease debugging parser problems, that need more context
Using it, produces output like this on stdout:
```
>> vlib/v/tests/typeof_type_test.v:4:        keyword `typeof`  token `(`  token `[`      keyword `fn`                      token `(`  name `s`  name `string`
>> vlib/v/tests/typeof_type_test.v:8:        keyword `typeof`  token `(`  token `[`      name `int`                        token `]`  token `)`  token `.`
>> vlib/v/tests/typeof_type_test.v:9:        keyword `typeof`  token `(`  token `[`      name `int`                        token `]`  token `)`  token `.`
>> vlib/v/tests/typeof_type_test.v:13:       keyword `typeof`  token `(`  token `[`      name `u32`                        token `]`  token `)`  token `.`
>> vlib/v/tests/typeof_type_test.v:14:       keyword `typeof`  token `(`  token `[`      name `u32`                        token `]`  token `)`  token `.`
>> vlib/v/tests/typeof_type_test.v:18:       keyword `typeof`  token `(`  token `[`      name `string`                     token `]`  token `)`  token `.`
```

Note: this tracing output is *deliberately on `stdout`*, instead of `stderr`,
so that you can filter it more easily, without saving it to a file first, i.e.
you can use it while developing/debugging parser issues like this:
`./v -o vnew cmd/v && ./vnew some_file.v | grep some_file.v`

-> this will show only the parsing context for the constructs you are debugging,
for that specific file *only*, instead of for all of `builtin` and the imported files etc.
2022-11-27 11:13:42 +02:00
yuyi
cf3dda2a58
datatypes: fix fsm.set_state() and cleanup fsm module (#16539) 2022-11-27 09:10:08 +02:00
Vincenzo Palazzo
8543d5e055
checker: improve mut arg error msg (#16540) 2022-11-27 07:07:35 +03:00
yuyi
ef5be22f81
all: replace generic <> with [] - part 2 (#16536) 2022-11-26 18:23:26 +02:00
yuyi
b19b97e7b1
generic: replace generic <> with [] part 1 - allow for both (#16532) 2022-11-26 08:59:42 +02:00
Swastik Baranwal
a9b41d2980
all: add support for const ident in match range (#16526) 2022-11-26 08:56:00 +02:00
yuyi
dee75fe970
checker: perfect infer_struct_generic_types() (#16524) 2022-11-24 19:30:02 +02:00
yuyi
f6cc88fa69
tests: add new test for #16519 (#16520) 2022-11-24 15:56:07 +02:00
yuyi
f0a23c8d3c
cgen: fix fn call of sumtype with alias fntype variant (#16519) 2022-11-24 12:05:57 +02:00
yuyi
8b5c75c481
cgen: fix sumtype with alias fntype variant (#16516) 2022-11-23 19:46:58 +03:00
shove
d632e84090
cgen: fix comptime optional methods call and optional field (fix #16499 #16465) (#16503) 2022-11-23 19:08:49 +03:00
Delyan Angelov
a987f84b15
ci: skip the very slow running tests in v test-self, when -asan-compiler or -msan-compiler is passed as well. 2022-11-22 19:52:43 +02:00
Subhomoy Haldar
f7a11b8e50
toml: update value_opt syntax and add missing documentation (#16510) 2022-11-22 19:45:12 +02:00
yuyi
7c7ebd648d
checker: check assigning generic function to a variable (#16507) 2022-11-22 17:56:49 +02:00
yuyi
27cdf5ae0e
checker: minor cleanup in checker module (remove pub from most of checker's methods) (#16505) 2022-11-22 17:50:26 +02:00
Delyan Angelov
7d57559b70
datatypes: make the out of bounds errors for lists APIs more detailed 2022-11-22 13:42:29 +02:00
yuyi
cc7e6006f9
checker: fix generic fn with short generic struct init syntax (#16504) 2022-11-22 13:27:49 +02:00
lemon
00383edd3d
native: add more operator support for floats on amd64 (#16498) 2022-11-21 12:48:24 +02:00
Delyan Angelov
c744030665
tests: add a watchdog thread to live_test.v to prevent it from blocking the whole CI on slow sanitized jobs 2022-11-21 12:24:54 +02:00
Delyan Angelov
c286775d9f
strconv: add test_atof_converter to the tests, as suggested by the code review 2022-11-21 07:41:41 +02:00
Delyan Angelov
6cd1723deb
strconv: fix float_prec := 1.9999999999999999 + 0.0000000000000000005 being 0.5 (fix #16448) (#16495) 2022-11-21 03:57:51 +03:00
RGBCube
bffe7bd7ab
github: add discord link to config.yml (#16497) 2022-11-20 21:33:28 +02:00
Delyan Angelov
0e727ec50a
checker: cleanup obsolete code for compatibility between byteptr and &byte (#16494) 2022-11-20 16:44:58 +02:00
Delyan Angelov
cb336c7dc7
net.http: remove ending \r from response.status_msg, add more tests 2022-11-20 16:22:43 +02:00
Subhomoy Haldar
aae63f5eb5
tools: gitignore the bin/ folder in new V projects (created by v init) (#16493) 2022-11-20 14:43:33 +02:00
Hitalo Souza
45854882b9
builtin, cgen: support FieldData.unaliased_typ, use it for generalising x.json2 (able to encode type aliased struct fields) (#16469) 2022-11-20 11:18:14 +02:00
Swastik Baranwal
06764bc559
checker: disallow taking address of optional fields for now (#16487) 2022-11-19 22:03:39 +02:00
Delyan Angelov
531c145ae7
Update bug-report.yml 2022-11-19 20:58:50 +02:00
Delyan Angelov
9d8e307ed9
Add a link to the Q&A category in the discussions 2022-11-19 20:56:18 +02:00
shove
5ef4e0c9be
cgen: fix "fn()?.field?" expr cgen error (fix #16482) (#16488) 2022-11-19 20:30:24 +02:00
RGBCube
05e562cb3c
doc: return none instead of error in the iterator example (#16486) 2022-11-19 19:11:56 +02:00
Delyan Angelov
6b0743bb07
x.json2: add support for i8, i16, u8, u16, u32 (fix #16484) 2022-11-19 12:03:04 +02:00
shove
79b4cfb42a
all: correct the first letter of error message from uppercase to lowercase (#16481) 2022-11-19 10:43:25 +02:00
shove
092f984708
ast, cgen: fix match struct.field? {...} (#16478) 2022-11-19 10:42:36 +02:00
RGBCube
2d9808b2dc
term: add term.slow_blink/1 and term.rapid_blink/1 (#16470) 2022-11-18 19:03:14 +02:00
Přemek Vyhnal
92be90300c
doc: mention the $embed_file return type, and link to its documentation (#16467) 2022-11-18 12:54:17 +02:00
Ulises Jeremias Cornejo Fandos
914007fd83
github: update templates to use latest github issues features (#16468) 2022-11-18 12:47:17 +02:00
Hitalo Souza
74613bd636
x.json2: generic-based encoder (finish PR#15137) (#16464) 2022-11-18 11:09:24 +02:00
Swastik Baranwal
44e2149baa
cgen: add escaping for near, far and huge keyword ptrs (#16463) 2022-11-17 23:42:09 +02:00
Delyan Angelov
886abcdf59
ci: bump timeout-minutes to 240, for all sanitized jobs 2022-11-17 17:35:51 +02:00
shove
ae816b1719
parser: fix if-guard for struct optional fields (fix #16460) (#16461) 2022-11-17 15:30:16 +03:00
shove
74efd2621b
checker: fix struct field unsign type check (fix #16457) (#16458) 2022-11-17 09:20:42 +02:00
Swastik Baranwal
360457e021
checker: disable overriding and importing of builtin sym types (#16452) 2022-11-17 09:10:03 +02:00
yuyi
cb9e945aa0
cgen: clean and improve need_tmp_var_in_match() (#16451) 2022-11-17 09:08:45 +02:00
shove
37700502f5
all: implement struct field optional and disallow storing result (#16392) 2022-11-17 07:51:50 +02:00
Spydr
41dd8985fc
native: use enum values instead of strings for identifying builtin functions (#16450) 2022-11-17 07:44:08 +02:00