Description
The standard library packages image and gui contain both Prefix source code and native extension layers. The operators added by the extension layers are registered as ASMODULE operators, meaning they are exposed to the extending module with extension-qualified names (e.g. image.LOAD_PNG and gui.CREATE_WINDOW). Since they are extended by the init module for each package, the default exposure for those operators is <package>.<extension>.<operator> (e.g. image.image.LOAD_PNG and gui.gui.CREATE_WINDOW).
Origin
This behavior was accidentally introduced with commit 0a91bec, when extension operator-loading semantics were changed from global to per-module.
Fix
The operators registered in the extension layers of image and gui MUST be not use ASMODULE extensions. The Prefix layers to image and gui MUST be changed to reflect this.
Description
The standard library packages
imageandguicontain both Prefix source code and native extension layers. The operators added by the extension layers are registered asASMODULEoperators, meaning they are exposed to the extending module with extension-qualified names (e.g.image.LOAD_PNGandgui.CREATE_WINDOW). Since they are extended by theinitmodule for each package, the default exposure for those operators is<package>.<extension>.<operator>(e.g.image.image.LOAD_PNGandgui.gui.CREATE_WINDOW).Origin
This behavior was accidentally introduced with commit 0a91bec, when extension operator-loading semantics were changed from global to per-module.
Fix
The operators registered in the extension layers of
imageandguiMUST be not useASMODULEextensions. The Prefix layers toimageandguiMUST be changed to reflect this.