Skip to content

feat(runtime): add PanicNilError and register runtime.Error - #536

Merged
paralin merged 1 commit into
s4wave:devfrom
cogentcore:fix/runtime-panic-nil-error
Oct 25, 2026
Merged

paralin merged 1 commit into
s4wave:devfrom
cogentcore:fix/runtime-panic-nil-error

Conversation

@rcoreilly

Copy link
Copy Markdown
Contributor

runtime.PanicNilError was a generated stub that panicked when constructed, so a package that names it at init (an interpreter that mirrors panic(nil), for example) failed to start. It now has the Error and RuntimeError methods of Go and the message of Go 1.27.

runtime.Error was not registered with the runtime type system, so a type assertion to it never succeeded, even for a recovered index out of range. It is now registered, and the RuntimeError value of a recovered runtime panic has the RuntimeError method, so it satisfies runtime.Error as in Go. package_import_runtime checks both.

runtime.PanicNilError was a stub that panicked when constructed, so code
that names it, such as an interpreter that mirrors panic(nil), failed at
init. It now has the Error and RuntimeError methods of Go.

runtime.Error was not registered with the runtime type system, so a type
assertion to it never succeeded. It is now registered, and recovered
runtime panics have the RuntimeError method, so they satisfy it as in Go.

Signed-off-by: Randall C. O'Reilly <oreilly@ucdavis.edu>
@paralin
paralin changed the base branch from master to dev October 25, 2026 18:37
@paralin
paralin merged commit 6787459 into s4wave:dev Oct 25, 2026
7 checks passed
@paralin

paralin commented Oct 25, 2026

Copy link
Copy Markdown
Member

Landed on master as 1ce7153, rebased onto the batch #532 to #550, with regenerated fixtures in fca8071.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants