Commit Graph

334 Commits

Author SHA1 Message Date
gingerBill
be0774acc8 Add error message on return a constant slice value from a procedure 2024-06-08 16:07:28 +01:00
gingerBill
7e994b6d21 Remove empty line preventing a suggestion from happening 2024-06-08 15:42:19 +01:00
gingerBill
bea47db495 Allow @(rodata) on @(static) variables 2024-06-06 15:20:47 +01:00
gingerBill
9ef43fc782 Add @(rodata) 2024-06-06 15:16:34 +01:00
gingerBill
66acbb7fed Add @(link_suffix=<string>) 2024-05-30 21:48:23 +01:00
gingerBill
7dc1f114b9 Add shadow suggestion 2024-05-22 22:22:41 +01:00
gingerBill
46b3e7b6fa Fix for &v in &fixed_array 2024-05-20 13:36:32 +01:00
gingerBill
b2dc5cc812 Fix error reporting for enforce new switch/for syntax 2024-05-16 15:32:15 +01:00
gingerBill
a344bc4c0e Remove the old switch/for semantics entirely and enforce switch &x in y 2024-05-16 14:39:16 +01:00
gingerBill
7734b12f9a Fix #3587 2024-05-14 00:16:32 +01:00
gingerBill
20f8f9012d Attempt at fixing #3588 2024-05-14 00:11:57 +01:00
gingerBill
8b4a8e4d80 Fix #3569 2024-05-13 12:49:12 +01:00
gingerBill
34c8739b69 Fix #3578 2024-05-13 12:42:06 +01:00
gingerBill
4eab735b13 Minor clean up of is_terminating code
This does not fix all known issues with it
2024-05-13 12:24:50 +01:00
gingerBill
ad5c9469d8 Fix #3522 2024-05-10 14:22:43 +01:00
gingerBill
5e1b376e22 Disallow for x in bitset_or_map if x is a variable that matches the "key" 2024-04-27 10:34:17 +01:00
gingerBill
393e4a9db6 Generalize Odin call-based "iterators" to work with more than 2-values: for x, y, z, w in iterate(&it)
It has an artificial limitation of 100 values because if you need for than that, you're doing something wrong.
2024-04-27 09:53:02 +01:00
gingerBill
5726b7d954 Remove warning on clang 2024-04-12 14:51:22 +01:00
gingerBill
46b9bd8c0e Improve error messages for switch and for r-values with a suggestion 2024-04-12 13:35:14 +01:00
gingerBill
f36fb6d1ef Add nil checks 2024-04-11 15:41:01 +01:00
oskarnp
ca46484ae3 Fix checker crash when or_return/or_break/or_continue used for non-existing proc 2024-04-06 11:02:43 +02:00
gingerBill
2375ac22a7 Improve error messages for A variable declaration must be an identifier 2024-04-04 16:57:08 +01:00
gingerBill
84686c70c5 Error message when RTTI is disabled when iterating over an enum type or a bit_set of enum with for in 2024-04-01 13:16:49 +01:00
gingerBill
3fa02427b3 Unify error message logic for ranges over bit_set 2024-04-01 13:12:09 +01:00
gingerBill
b862691d75 Support for in with bit_set 2024-04-01 13:08:07 +01:00
gingerBill
517d7ae0b0 Add error block around error_line calls 2024-03-23 17:51:56 +00:00
gingerBill
194d3fe6bd Ignore wrong types 2024-03-23 14:59:35 +00:00
gingerBill
624b870f28 Add some basic escape analysis errors for return &x 2024-03-23 14:58:10 +00:00
gingerBill
c8cdb22f0b Disallow for x in y.(T) and for x in y.? 2024-03-21 14:42:48 +00:00
gingerBill
65cb382135 Fix error handling for type switch statement 2024-03-20 22:44:35 +00:00
gingerBill
8e0806be2d Fix #3301 2024-03-20 18:09:57 +00:00
gingerBill
80ecf5b68a On x: [?]T = {...}, minimize errors by using the [?]T expression as a kind of hint 2024-03-19 13:32:37 +00:00
gingerBill
43d695a990 Fix for x in y where y is an "optional ok" value, but ignores #optional_allocator_error values 2024-03-18 11:21:06 +00:00
gingerBill
19eb2a8890 Fix #3282 2024-03-16 22:24:34 +00:00
gingerBill
3875fb08e8 Fix #3284 2024-03-16 22:12:17 +00:00
gingerBill
5a84a08225 Add general support for bit_fields 2024-02-22 17:24:42 +00:00
gingerBill
3c47503780 Improve foreign variable fuzzy type checking 2024-01-28 23:35:01 +00:00
gingerBill
d7d23e65ea Clean up error block usage 2024-01-05 13:47:00 +00:00
gingerBill
23c4615f5e Disallow direct return a compound literal of a slice with elements 2023-10-13 12:19:48 +01:00
gingerBill
648b83d6ea Add or_break and or_continue constructs 2023-09-30 15:04:17 +01:00
gingerBill
4c328d83ba Fix #2817 2023-09-26 12:40:35 +01:00
gingerBill
b782fca75b Fix using bug 2023-08-07 15:18:45 +01:00
gingerBill
65206fe33e Go through loads of TODOs 2023-08-01 11:39:04 +01:00
gingerBill
4b57aec1c6 Fix typo 2023-07-31 17:30:03 +01:00
gingerBill
f17077c05c Remove debug code 2023-07-31 12:11:31 +01:00
gingerBill
0de7df9eab Improve //+vet; remove using in many places; add //+vet !using-stmt where necessary 2023-07-31 11:37:14 +01:00
gingerBill
60e509b1e0 Add separate -vet flags; -vet-using-* flags; //+vet file flags 2023-07-31 11:09:19 +01:00
Laytan Laats
fc81008ab5 Fix #2615: can't iterate untyped string 2023-07-02 22:18:25 +02:00
gingerBill
00d60e28c2 Allow switch &v in ... work to be consistent with for &e in ... 2023-06-26 15:41:53 +01:00
gingerBill
ea00619c3b for &e, i in array and for k, &v in map (alternative to passing the iterable by pointer) 2023-06-26 15:20:40 +01:00