Commit Graph

1005 Commits

Author SHA1 Message Date
Laytan Laats
1fce5791a1 fix require/enable target feature attribute on poly procs 2024-07-09 19:33:25 +02:00
Feoramund
77d64a5461 Forbid $T= parameter from crashing compiler
Fixes #3883
2024-07-06 15:32:17 -04:00
gingerBill
bf711b282d Remove when check in check_entity_from_ident_or_selector 2024-07-04 13:58:36 +01:00
gingerBill
657bc88535 Allow x :: y when cond else proc(...){...} 2024-07-04 13:48:52 +01:00
gingerBill
a2b23de0a7 Sanity check for a nullptr 2024-07-01 12:24:46 +01:00
gingerBill
42ff711114 Fix #3515 2024-07-01 12:22:18 +01:00
gingerBill
4086a62167 Fix showing error when not meant to 2024-07-01 11:50:35 +01:00
gingerBill
11617af8f5 Add support for make(#soa[]T) etc 2024-07-01 11:34:50 +01:00
Jeroen van Rijn
efd933e221 Merge pull request #3842 from karl-zylinski/fix-poly-bitset-size
Fix for bit_set[$T] proc params always being generated as i8
2024-06-30 21:10:42 +02:00
Karl Zylinski
e0face1ac8 Make types like bit_set[$T] have their upper and lower bits overwritten by upper/lower from the source types when checking if polymorphic type is assignable. This fixes an issue where an i8 was always generated for bit_sets with generic elements, because it couldn't figure out upper/lower when check_bit_set_type was run. Fixes #2860 2024-06-30 20:36:51 +02:00
gingerBill
c88a1bef91 Add another -vet-cast check 2024-06-29 12:40:04 +01:00
gingerBill
e46d772b6d Add check for integer casts 2024-06-29 12:13:41 +01:00
gingerBill
4b71c47fd5 Check for unneeded transmute with -vet-cast 2024-06-29 12:02:31 +01:00
gingerBill
704530497b Rename -vet-identical-cast to -vet-cast; with minor code clean up 2024-06-29 11:44:45 +01:00
Feoramund
6496432b80 Add -vet-identical-cast 2024-06-28 23:14:03 -04:00
gingerBill
5a9698e8cb Properly fix #3820 2024-06-28 09:08:57 +01:00
Feoramund
f58eded5d2 Fix print segfault by missing argument in or_* shadowed error 2024-06-22 11:45:43 -04:00
gingerBill
c9884906d9 Add #directory 2024-06-20 12:15:55 +01:00
gingerBill
56383e45a7 Fix #3768 2024-06-20 11:44:00 +01:00
Feoramund
78a5a27212 Fix bit_set construction crash on constant non-integer field 2024-06-16 12:27:42 -04:00
Feoramund
33270f14a4 Fix #3739 2024-06-12 15:31:43 -04:00
gingerBill
c5f7788652 Check to see if matrices are exactly the same type 2024-06-12 12:54:57 +01:00
gingerBill
f57c03c170 Improve matrix type hinting rules a little 2024-06-12 12:40:29 +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
Feoramund
45d1328a85 Fix typo in a #force_inline error message 2024-06-10 00:50:16 -04:00
gingerBill
ef7c6b9895 Re Fix #3713 2024-06-09 14:07:07 +01:00
gingerBill
c17981ac38 Add edge case to error_operand_no_value 2024-06-09 14:02:01 +01:00
gingerBill
4b52f7fe2b Fix #3713 2024-06-09 13:35:22 +01:00
gingerBill
7044a7d776 Try to fix a possible race condition with polymorphic record parameters 2024-06-06 23:55:48 +01:00
gingerBill
cbabcb0907 Fix #3682 2024-06-05 15:43:15 +01:00
gingerBill
a0b1b8d1c3 Merge pull request #3673 from laytan/implement-foreign-import-improvements-on-vendor
Implement `#exists(path)` and use it to provide good errors for common missing vendor libraries
2024-06-04 19:57:09 +01:00
Laytan Laats
3e159736cd use #exists to provide good errors for common missing libraries 2024-06-04 20:13:51 +02:00
Laytan Laats
b47a15733d implement #exists(path) 2024-06-04 19:06:13 +02:00
gingerBill
6b386631dd Improve error message suggestion for passing enums to integers 2024-06-04 16:16:27 +01:00
Dudejoe870
9b78061c8f Initial hash directive implementation 2024-05-28 22:42:10 -05:00
gingerBill
64bdb3a097 Fix #3630 (first part) 2024-05-26 12:17:03 +01:00
gingerBill
f3f08c264f Be very particular with the cases for the error notes 2024-05-22 21:55:48 +01:00
gingerBill
2f35ee9671 Improve errors a lot for assigning procedures of the wrong signature 2024-05-22 21:52:15 +01:00
gingerBill
bc706f8b0c Fix indexing type when using a #row_major matrix 2024-05-20 15:04:15 +01:00
gingerBill
a68c635c00 Remove constant indexing for matrix value propagation 2024-05-20 15:00:43 +01:00
gingerBill
32245e93a1 Fix #3514 along with soa.a[i] bounds checking 2024-05-16 16:18:21 +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
8d687a959d Fix #3516 2024-05-13 12:52:28 +01:00
gingerBill
d1217340f5 Fix #3573 2024-05-13 12:26:01 +01:00
gingerBill
facae34354 Fix #3584 2024-05-13 11:53:59 +01:00
gingerBill
0f76c22c46 Check for illegal use of distinct 2024-05-12 17:48:06 +01:00
Laytan
98827c867d fix duplicate suggestions and add missing newline 2024-05-09 19:21:39 +02:00
gingerBill
f54977336b With -vet-style, give suggestion of separating where clauses with a comma rather than '&&'
This improves the error messages
2024-05-09 15:56:00 +01:00
Victor Sohier
56b62996c3 Remove breakpoint hook 2024-05-06 18:20:20 -04:00
Victor Sohier
6cb0f5d8c5 Explicitly handle previously implicitly handled case 2024-05-06 18:04:35 -04:00