Feoramund
b38237e8f0
Fix compiler crash when switching on no value
2024-07-14 14:59:00 -04:00
gingerBill
c54e3d3c4f
Improve warning handling for possible default: typo
2024-07-10 13:45:21 +01:00
gingerBill
e8517e2694
-strict-style: enforce case to be in the same column as switch
2024-06-29 18:56:45 +01:00
gingerBill
fa3cae2bb0
Add intrinsics.procedure_of
...
```odin
foo :: proc(x: $T) { fmt.println(x) }
bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of`
bar(333) // prints 333
```
2024-06-10 15:02:34 +01:00
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