| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-09-13 | add compile error test for pointless discards | Andrew Kelley | |
| 2022-09-13 | remove pointless discards in test cases | Andrew Kelley | |
| 2022-09-12 | stage2: change how defers are stored in Zir | Veikka Tuominen | |
| Storing defers this way has the benefits that the defer doesn't get analyzed multiple times in AstGen, it takes up less space, and it makes Sema aware of defers allowing for 'unreachable else prong' error on error sets in generic code. The disadvantage is that it is a bit more complex and errdefers with payloads now emit a placeholder instruction (but those are rare). Sema.zig before: Total ZIR bytes: 3.7794370651245117MiB Instructions: 238996 (2.051319122314453MiB) String Table Bytes: 89.2802734375KiB Extra Data Items: 430144 (1.640869140625MiB) Sema.zig after: Total ZIR bytes: 3.3344192504882812MiB Instructions: 211829 (1.8181428909301758MiB) String Table Bytes: 89.2802734375KiB Extra Data Items: 374611 (1.4290275573730469MiB) | |||
| 2022-09-10 | type: print comptime on fn type params | Jacob Young | |
| This avoids the following confusing error message: error: expected type 'fn(i32, i32) void', found 'fn(i32, i32) void' | |||
| 2022-09-08 | Sema: fix UAF in zirClosureGet | Veikka Tuominen | |
| Previously if a decl failed its capture scope would be deallocated and set to undefined which would then lead to invalid dereference in `zirClosureGet`. To avoid this set the capture scope to a special failed state and fail the current decl with dependency failure if the failed state is encountered in `zirClosureGet`. Closes #12433 Closes #12530 Closes #12593 | |||
| 2022-09-08 | Sema: correct types in `@memset` and `@memcpy` | Veikka Tuominen | |
| Closes #12750 | |||
| 2022-09-03 | Sema: only ABI sized packed structs are extern compatible | Veikka Tuominen | |
| 2022-09-02 | Sema: improve behavior of comptime_int backed enums | Veikka Tuominen | |
| 2022-09-02 | Sema: add error for enum tag value overflow | Veikka Tuominen | |
| Closes #12291 | |||
| 2022-09-02 | Sema: fix noalias coercion error message | Veikka Tuominen | |
| Closes #11769 | |||
| 2022-09-02 | AstGen: use reachableExpr for try operand | Veikka Tuominen | |
| Closes #12248 | |||
| 2022-09-01 | Sema: add more validation to coerceVarArgParam | Veikka Tuominen | |
| Closes #12706 | |||
| 2022-08-30 | Sema: shift of comptime int with runtime value | Veikka Tuominen | |
| Closes #12290 | |||
| 2022-08-30 | Sema: do not emit generic poison for non generic parameters | Veikka Tuominen | |
| Closes #12679 | |||
| 2022-08-30 | Sema: improve handling of always_tail call modifier | Veikka Tuominen | |
| Closes #4301 Closes #5692 Closes #6281 Closes #10786 Closes #11149 Closes #11776 | |||
| 2022-08-29 | Sema: fix access of inactive union field when enum and union fields are in ↵ | Veikka Tuominen | |
| different order Closes #12667 | |||
| 2022-08-28 | add error tests for now correctly behaving cases | Veikka Tuominen | |
| Closes #6377 | |||
| 2022-08-28 | Sema: add error for switch on slice | Veikka Tuominen | |
| Closes #12651 | |||
| 2022-08-28 | AstGen: add error for named function type | Veikka Tuominen | |
| Closes #12660 | |||
| 2022-08-27 | Sema: add error for non-comptime param in comptime func | antlilja | |
| Adds error for taking a non comptime parameter in a function returning a comptime-only type but not when that type is dependent on a parameter. Co-authored-by: Veikka Tuominen <git@vexu.eu> | |||
| 2022-08-25 | Sema: ignore comptime params in partial func type check | Veikka Tuominen | |
| This fixes a bug exposed by cd1833044ab7505bc101c85f59889bd3ea3fac80 where a function type would be converted to generic_poison even after being instantiated due to containing comptime only types. This could also be fixed by just checking `is_generic_instantiation` but this way also provides better type names. Closes #12625 | |||
| 2022-08-24 | Merge pull request #12623 from Vexu/stage2-fixes | Andrew Kelley | |
| Stage2 fixes | |||
| 2022-08-24 | Merge pull request #12574 from Vexu/remove-bit-op-type-param | Andrew Kelley | |
| stage2+stage1: remove type parameter from bit builtins | |||
| 2022-08-24 | Sema: correctly reset inst_map for analyzeInlineCallArg | Veikka Tuominen | |
| Closes #12622 | |||
| 2022-08-24 | Sema: fix crash on slice of non-array type | Veikka Tuominen | |
| Closes #12621 | |||
| 2022-08-24 | Sema: do not construct nested partial function types | Veikka Tuominen | |
| Closes #12616 | |||
| 2022-08-22 | Sema: fix fieldCallBind on tuples and anon structs | Veikka Tuominen | |
| Closes #12573 | |||
| 2022-08-22 | stage2+stage1: remove type parameter from bit builtins | Veikka Tuominen | |
| Closes #12529 Closes #12511 Closes #6835 | |||
| 2022-08-22 | Sema: fix parameter of type 'T' must be comptime error | Veikka Tuominen | |
| Closes #12519 Closes #12505 | |||
| 2022-08-21 | Sema: add note about function call being comptime because of comptime only ↵ | Veikka Tuominen | |
| return type | |||
| 2022-08-18 | AstGen: disallow leading zeroes in int literals and int types | zooster | |
| This makes `0123` and `u0123` etc. illegal. I'm now confident that this is a good change because I actually caught two C header translation mistakes in `haiku.zig` with this. Clearly, `0123` being octal in C (TIL) can cause confusion, and we make this easier to read by requiring `0o` as the prefix and now also disallowing leading zeroes in integers. For consistency and because it looks weird, we disallow it for integer types too (e.g. `u0123`). Fixes #11963 Fixes #12417 | |||
| 2022-08-18 | Merge pull request #12462 from Vexu/stage2-noreturn | Veikka Tuominen | |
| Stage2: improve behavior of noreturn | |||
| 2022-08-17 | fix typo in compile error message | Andrew Kelley | |
| 2022-08-17 | add test | Veikka Tuominen | |
| 2022-08-17 | Sema: allow empty enums and unions | Veikka Tuominen | |
| 2022-08-17 | Sema: properly handle noreturn fields in unions | Veikka Tuominen | |
| 2022-08-17 | Sema: make noreturn error union behave correctly | Veikka Tuominen | |
| 2022-08-17 | Sema: make optional noreturn behave correctly | Veikka Tuominen | |
| 2022-08-16 | AstGen: detect declarations shadowing locals | Veikka Tuominen | |
| Closes #9355 | |||
| 2022-08-15 | stage2: add compile errors for comptime `@shrExact` and `@divExact` failures | LeRoyce Pearson | |
| 2022-08-12 | Sema: add error for signed integer division | martinhath | |
| stage1 error reads error: division with 'i32' and 'comptime_int': signed integers must use @divTrunc, @divFloor, or @divExact Fixes: #12339 | |||
| 2022-08-10 | Merge pull request #12379 from ifreund/packed-struct-explicit-backing-int | Andrew Kelley | |
| stage2: Implement explicit backing integers for packed structs | |||
| 2022-08-10 | stage2: add compile error for invalid null/undefined pointer cast | InKryption | |
| 2022-08-10 | stage2: add compile error for shlExact overflow | LeRoyce Pearson | |
| - moves a stage1 test case and makes it target `llvm` backend instead of `stage1` backend | |||
| 2022-08-10 | stage2: Implement explicit backing integers for packed structs | Isaac Freund | |
| Now the backing integer of a packed struct type may be explicitly specified with e.g. `packed struct(u32) { ... }`. | |||
| 2022-08-09 | Sema: add declared here note to function call errors | Veikka Tuominen | |
| 2022-08-09 | stage2: generate call arguments in separate blocks | Veikka Tuominen | |
| 2022-08-09 | stage2: correct node offset of nested declarations | Veikka Tuominen | |
| 2022-08-08 | stage2: pass anon name strategy to reify | Veikka Tuominen | |
| 2022-08-07 | remove brittle test case | Andrew Kelley | |
| see #12358 | |||
