From 93340f97dce404a008f489729df144ace53528ab Mon Sep 17 00:00:00 2001 From: zinc Date: Wed, 14 Oct 2026 10:38:17 +0000 Subject: fix std hover, full capture terminator, bare static calls, void main in run-only images - hover: a symbol from an embedded library source (tinyvm:std.zc, tinyvm:icon.zc) was looked up only in the document; look it up by its qualified name in the library source (hover_embedded_sym), and render a method found that way by its line (bs_hover). - std.capture: allocate one word more than the 256 it holds, so end() terminates inside the buffer. - a bare call to a static function of the enclosing struct resolves like a bare struct constant (mstruct is set for every non-generic struct's methods); the struct's own wins over a global. - run.zc declares main untyped (fn main();), so a run-only image accepts int, void or untyped main with both compilers. --- src/runtime/run.zc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/runtime') diff --git a/src/runtime/run.zc b/src/runtime/run.zc index a8f82e2..19a5234 100644 --- a/src/runtime/run.zc +++ b/src/runtime/run.zc @@ -8,9 +8,10 @@ include rt; // // cat build/run/rt.zc src/runtime/run.zc examples/hello.zc | ./zc0 >build/run/genome.h -// the program's entry point, written by the program (see start). +// the program's entry point, written by the program (see start). the prototype is untyped so +// that main may be declared int, void or untyped, as in any other program: its value is ignored. namespace; -int main(); +fn main(); namespace run; include rt; -- cgit v1.2.3