Skip to content

Follow a call made inside an imported module - #884

Merged
onatozmenn merged 1 commit into
mainfrom
backend-inside-an-imported-module
Aug 2, 2026
Merged

Follow a call made inside an imported module#884
onatozmenn merged 1 commit into
mainfrom
backend-inside-an-imported-module

Conversation

@onatozmenn

Copy link
Copy Markdown
Collaborator

Follow-up to #882. A function reached across a module boundary can call its own module's functions, and those have no index in the program being compiled either. The lowering only looked for an import, so markdown.deed got refused at slice, which std/string's own replace calls and nothing imports.

Same path as an import: the callee is lowered from the module being read, as it is reached, into the same program. Nothing here is on the path of a program that imports nothing.

The agreement test grew a function in the library that calls another one in the same library, since that was the case that was missing.

Twenty-eight of thirty-four. Part of #877.

Written with AI assistance.

A function reached across a module boundary can call its own module's
functions, and those have no index in the program being compiled either.
The lowering only looked for an import, so `markdown.deed` was refused at
`slice`, which `std/string`'s own `replace` calls and nothing imports.

Same path as an import: the callee is lowered from the module being read,
as it is reached, into the same program. Nothing here is on the path of a
program that imports nothing.

Twenty-eight of thirty-four. Part of #877.
@onatozmenn
onatozmenn merged commit f338ce2 into main Aug 2, 2026
5 checks passed
@onatozmenn
onatozmenn deleted the backend-inside-an-imported-module branch August 2, 2026 19:46
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.

1 participant