~pixelherodev/zyg

ref: 27187f8391f97f3e6f69df47ee5ad9337d9975a0 zyg/design/accepted -rw-r--r-- 1.3 KiB
27187f83Noam Preil fixes 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
- error unions are bitmaps of errors
- All lines in a block must have identical indentation
	- Indentation of a block must be >= parent
- whitespace presence must match on both sides of infix operators
- function definitions are expressions
- Reject non-muted var
- s/c_void/anyopaque/
- anon structs / unions
- compile error on errdefer in function not returning error
- comptime error trace to indicate comptime origin
- switch on error sets
- pointer safety checks in safe mode (#2414)
- allow specifying artifact name *and* folder
- allow tautological integer comparison (u4 < 16)
- allow wrapping negation on unsigned (0 -% u == -%u)
- comptime is implied at callsite when specified in parameter
- eliminate comptime-known never-taken branches in the AST
- no builtins redundant with @Type
- allow slicing tuples
- struct without named fields becomes is_tuple struct
- s/@TagType/@Tag/
- array.len: comptime_int
- expose zig compatibility version?
	- after we can compile some real 0.8-level code
- "self"
- no destination type param for builtins
- Peer type resolution should only happen when result type is unspecified

# Verify these

- Allow shadowing of struct members, compile error on unqualified use
- Implicit-casting of comptime_int to smallest runtime int that fits

# Worry about these later

- 786