Update to match harec flexible promotion
Updates the flexible literal promotion algorithm to match current harec
behavior in promoting signed flexible literals to unsigned integer types.
Signed-off-by: Rosie K Languet <rkl@rosiesworkshop.net>
allow at most one function attribute in the grammar
Signed-off-by: Bor Grošelj Simić <bgs@turminal.net>
disallow variadism in @init/@fini/@test functions
`@test fn f(...) void = void;` technically counts as not having any
parameters, so we need to be explicit about that.
Signed-off-by: Bor Grošelj Simić <bgs@turminal.net>
remove type promotion on arrays
It's not used anywhere, since arrays can't be used in binary
expressions.
Signed-off-by: Bor Grošelj Simić <bgs@turminal.net>
disallow left slicing operand with opaque slices
Signed-off-by: Bor Grošelj Simić <bgs@turminal.net>
remove switching on pointers
Not implementable in full generality. Also clashes with the fact that
we don't support compile time pointer comparison, which is kind of
needed for duplicate/exhaustiveness checking.
Signed-off-by: Bor Grošelj Simić <bgs@turminal.net>
Use string-section in informative text about tokens
Instead of string-literal, which isn't a token (it allows multiple
concatenated string-sections)
Redefine vaarg() as vaarg(object-selector, type)
Signed-off-by: Drew DeVault <sir@cmpwn.com>
Fix typo in delete-operand nonterminal
Signed-off-by: Alexey Yerin <yyp@disroot.org>
Allow trailing comma in tuple-binding-names
Signed-off-by: Alona Enraght-Moony <code@alona.page>
Relicense specification with the GNU FDL
Signed-off-by: Drew DeVault <sir@cmpwn.com>
Allow parentheses around offset/insert/delete operand
Signed-off-by: Sebastian <sebastian@sebsite.pw>
Improve tuple unpacking description
Specifies type hints, and rewords stuff
Signed-off-by: Sebastian <sebastian@sebsite.pw>