Hello everyone,
Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again!
It’s been almost 3 years, and I’m really excited and having so much fun.
Having worked on some statically typed languages I’ve been using typespecs and Dialyzer a lot more in my day to day. And this particular message has been driving me crazy:
Function foo/1 has no local return
I just spent about 4 hours trying to figure out why Dialyzer was so upset. And it turned out it’s because when I want to refactor a type I forget to change it everywhere in the code. Dialyzer starts complaining and I can’t figure out why. So I end up having to pinpoint what’s causing the issue and then fixing it. A lot of the time it’s for something completely unrelated! Like for example using the %{ my_struct | key: val} update syntax to update a struct instead of struct(my_struct, key: val).
Has anybody else run into this issue before? And is there a way to help Dialyzer get better at pinpointing the exact issue?
Cheers!






















