parseForeignClassDecl ([src/parser.zig:1262]) accepts ';'
(declaration) or '{ ... }' (block body) but not '=>' for member
methods. The arrow form, which parseFnDecl ([src/parser.zig:1647])
already handles for top-level/struct decls (M1.0 1/3), surfaces
'expected ;' at the arrow today.
Snapshot pins that error so the next commit (the parser
extension) shows up as a single diagnostic→runtime-output diff
in 140-expression-bodied-objc-method.{txt,exit}.
21 lines
576 B
Plaintext
21 lines
576 B
Plaintext
// M1.0 (xfail) — '=>' expression-body form inside '#objc_class'
|
|
// member methods.
|
|
//
|
|
// Today: parseForeignClassDecl ([src/parser.zig:1262]) accepts ';'
|
|
// (declaration) or '{ ... }' (block body) but not '=>'. Trying
|
|
// '=>' surfaces 'expected ;' at the arrow.
|
|
//
|
|
// Next commit extends the member parser to accept the arrow
|
|
// form, mirroring the existing parseFnDecl ('=>') arm, and this
|
|
// snapshot flips from a parser error to '42\n'.
|
|
|
|
#import "modules/std.sx";
|
|
|
|
SxFoo :: #objc_class("SxFoo") {
|
|
greet :: (self: *Self) -> s32 => 42;
|
|
}
|
|
|
|
main :: () -> s32 {
|
|
0;
|
|
}
|