Skip to content

Conversation

@tonythetender
Copy link
Contributor

Because WaitingOnImports were only checked once, if they are not in the state isReady during tryUnblock the process function would return and the build would continue as usual leaving them in limbo even after they are finally ready later on. Any remaining imports are now being checked later down the pipeline to be processed properly. This was essential for single threaded build which has no global queue so they were always forgotten.
Credits to @Acepie for picking up on this.

This doesn't solve imports not being considered by the LSP, but the WaitingOnImports was causing other diagnostics to be suppressed as soon as the file contains a platform import. With that being fixed, the editor was still receiving UNDEFINED VARIABLE errors for functions imported from platform. As a bandaid the UNDEFINED VARIABLE diagnostic are now silence if they are referring to functions from a platform. This allow normal diagnostics to get through while preventing false positive.

tonythetender and others added 3 commits December 7, 2025 10:00
Because WaitingOnImports were only checked once, if they are not ready the build would continue as usual leaving them in limbo. They are now being checked later down the pipeline to be processed properly. This was essential for single threaded build which has no global queue so they were always forgotten
Just silences errors of unused variable coming from imports until the imports resolution issue is solved.
Copy link
Collaborator

@Anton-4 Anton-4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tonythetender!

@Anton-4 Anton-4 merged commit f097b9c into roc-lang:main Dec 8, 2025
40 checks passed
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.

2 participants