Stream: contributing

Topic: Bugs I found


view this post on Zulip Chris (Sep 16 2023 at 21:14):

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

view this post on Zulip Anton (Sep 18 2023 at 13:17):

#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.

view this post on Zulip Ayaz Hafiz (Sep 18 2023 at 16:33):

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.

view this post on Zulip Chris (Nov 21 2023 at 23:59):

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...

view this post on Zulip Ayaz Hafiz (Nov 22 2023 at 01:44):

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.

view this post on Zulip Chris (Nov 23 2023 at 01:12):

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?

view this post on Zulip Richard Feldman (Nov 23 2023 at 01:36):

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