I don’t think there is a raw dialyzer error. Looks like it’s throwing an error rather than reporting results from dialyzer. Let me know if that doesn’t seem right.
My assumption is, that the translator between dialyzers output in erlang syntax and the reported output in elixir syntax is throwing up, so that error message needs to be analised to find the place its comming from to report the bug back to dialyzer and its dependencies.
So in your project, whats the output of mix dialyxir --format raw (and also mix dialyxir --format dialyzer).
This comes from the router file, apparently. I am getting a similar error on my end. Besides the Erlex bug, there’s a bug in Dialyxir’s filtering that is assuming all the short errors can be printed appropriately for filtering but that is an invalid assumption (I think I wrote that bug…). Then combined with the Phoenix router bug we have all sorts of fun here.
Modified the offending calls in Dialyxir to bypass the offending Erlex call. Not my best debugging, but it worked. The other option would be to drop back to a non-Erlex Dialyxir so you get the old style warnings.