Hello! While working on #5751 I found two compiler bugs (#5816 and #5817). I have zero experience working on a compiler, but if I could help with those issues in some way please let me know
#5817 seems like an extremely difficult first compiler issue but #5816 seems doable. @Ayaz Hafiz could probably give you the best getting started tips. It could also be worth it to try working on this with the cursor.so editor, it may be able to provide enough guidance and hints about the cause.
Yeah #5817 is a known issue for which we know the issue, but have no plan forward currently (#compiler development > non-nullable unwrapped closures ). #5816 is definitely approachable, if you (or anyone) is interested, feel free to follow up here and I can help provide guidance as needed.
Sorry for the late reply. Tomorrow I will start working on #5816. @Ayaz Hafiz Do you have any possible starting points in mind or any tips on debugging the roc compiler in general? I looked at roc source code a few times and it felt a little bit overwhelming...
Sure. The good thing is that bug should be pretty localized. I would start by tracking the full stack backtrace (when run with a debug compiler and RUST_BACKTRACE=1). It's likely to point you to where the issue happened a few frames deep, and then I would debug the type variables around there.
I've spent some time in gdb trying to follow the roc_solve::solve::solve
function, but i don't think i understand how it works. Are any new elements being added to unification table somewhere?
during solve? I don't think so, but @Ayaz Hafiz or @Folkert de Vries might know differently
Last updated: Jul 06 2025 at 12:14 UTC