Open
Description
Trying to make two files that import each other (a.mm1
imports b.mm1
and b.mm1
imports a.mm1
) stops a future from making progress during elaboration at this await point which I think leads to:
elab(a.mm1) // waiting on mk(b.mm1)
elab(b.mm1) // waiting on mk(a.mm1)
elab(a.mm1) // vfs returns FileCache::InProgress, giving a(2nd) a sender handle from a(1st)
and the receiver seems to await a message that isn't coming.
You either get the last parser error before it picked up the completed import, or the logging shows no error and gets stuck on "change a.mm1" if you copy-paste the whole line.
adding the previously seen/parent path info as an argument to server::elaborate seems like an easy way to propagate the relevant info without changing any types. Server/VFS are convenient, but neither of those seem concerned with the actual content of files.
Metadata
Metadata
Assignees
Labels
No labels