-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
C-ArchitectureBig architectural things which we need to figure up-front (or suggestions for rewrites :0) )Big architectural things which we need to figure up-front (or suggestions for rewrites :0) )S-actionableSomeone could pick this issue up and work on it right nowSomeone could pick this issue up and work on it right now
Description
hir::Module
has source, which returnsModuleSource
, which stores BlockExpr
as a possible variant. treating block with items as module might be fine, but we definitely should not expose this complexity to an IDE. Not sure whats the best way to achieve that though.
One approach is to add a hir::ModuleSource
which asserts that the module is real, and sped the rest of our lives tracking assertion failures.
Another approach is to somehow distinguish real and fake modules in the compiler level by either turning a module into an enum, or by introducing a separate ModuleScope.
Metadata
Metadata
Assignees
Labels
C-ArchitectureBig architectural things which we need to figure up-front (or suggestions for rewrites :0) )Big architectural things which we need to figure up-front (or suggestions for rewrites :0) )S-actionableSomeone could pick this issue up and work on it right nowSomeone could pick this issue up and work on it right now