feat(lang): packages count under uses; a port of defaults may go unbound
A module that says uses must name every package module it reaches; a package with no module line is named for its directory (ludic_render3d) for this rule, so a mechanic reaching into the renderer is caught. Only the engine's runtime needs no naming. 'module x uses' with nothing after it reaches no other module. A port whose every member has a default answers with its defaults when unbound, and 'new' of a port says to bind it. ludic-dev test runs 'ludic test packages'. Reseed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
e8c1d54a96
commit
f4062010e9
15 changed files with 47465 additions and 46516 deletions
8
examples/rejected/uses_pkg_mech/index.ludic
Normal file
8
examples/rejected/uses_pkg_mech/index.ludic
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# uses_pkg_mech/index.ludic - a mechanic that says it uses ludic_base, then reaches into another
|
||||
# mechanic package
|
||||
module mech uses ludic_base
|
||||
import "ludic.base"
|
||||
import "ludic.inventory"
|
||||
export function stock() -> int {
|
||||
return inv_count(0)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue