commit c4552ee8edec961defb161e1b828a818f8d407bb (tree)
parent a32e240540895af536fdeb98db448ee745def59a
Author: Vexu <git@vexu.eu>
Date: Thu, 14 May 2020 17:18:14 +0300
store rparen in ReturnType.Invalid
This is useful for getting a partial function signature
Diffstat:
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/std/zig/ast.zig b/lib/std/zig/ast.zig
@@ -897,7 +897,7 @@ pub const Node = struct {
pub const ReturnType = union(enum) {
Explicit: *Node,
InferErrorSet: *Node,
- Invalid,
+ Invalid: TokenIndex,
};
pub fn iterate(self: *FnProto, index: usize) ?*Node {
diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig
@@ -518,7 +518,7 @@ fn parseFnProto(arena: *Allocator, it: *TokenIterator, tree: *Tree) !?*Node {
// TODO https://github.com/ziglang/zig/issues/3750
const R = Node.FnProto.ReturnType;
const return_type = if (return_type_expr == null)
- R{ .Invalid = {} }
+ R{ .Invalid = rparen }
else if (exclamation_token != null)
R{ .InferErrorSet = return_type_expr.? }
else