diff options
author | Ayke van Laethem <[email protected]> | 2024-10-12 10:33:24 +0200 |
---|---|---|
committer | Ayke <[email protected]> | 2024-10-18 17:43:17 +0200 |
commit | df724f5827e2b96d53a708d642ee52798506915c (patch) | |
tree | 186743b9f6e7b33b1840b2b848ba4e30268baff1 /loader | |
parent | 539cc5c47bb1bc46bcaf663d8f963670a7fbb111 (diff) | |
download | tinygo-df724f5827e2b96d53a708d642ee52798506915c.tar.gz tinygo-df724f5827e2b96d53a708d642ee52798506915c.zip |
loader: don't panic when main package is not named 'main'
This can in fact happen in practice, so return an actual error message
instead.
Diffstat (limited to 'loader')
-rw-r--r-- | loader/loader.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/loader/loader.go b/loader/loader.go index d10485707..6786ee533 100644 --- a/loader/loader.go +++ b/loader/loader.go @@ -418,8 +418,12 @@ func (p *Package) Check() error { packageName := p.ImportPath if p == p.program.MainPkg() { if p.Name != "main" { - // Sanity check. Should not ever trigger. - panic("expected main package to have name 'main'") + return Errors{p, []error{ + scanner.Error{ + Pos: p.program.fset.Position(p.Files[0].Name.Pos()), + Msg: fmt.Sprintf("expected main package to have name \"main\", not %#v", p.Name), + }, + }} } packageName = "main" } |