You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
dialyzer n3.erl
dialyzer: Analysis failed with error:
n3.erl:10:2: Illegal declaration of #r{t}
Expected behavior
According to the documentation and EEP, t1() and t2() are compatible nominal types, so using a refined record type #r{t :: t2()} should be fine.
Affected versions
Master
Additional context
Swapping definitions of t1() and t2() makes the error disappear:
Describe the bug
Code is OK according to the rules (compatibility, type-checking) of nominal types, but is rejected by dialyzer.
To Reproduce
(This code has little sense, it's a minimal repro)
Expected behavior
According to the documentation and EEP,
t1()
andt2()
are compatible nominal types, so using a refined record type#r{t :: t2()}
should be fine.Affected versions
Master
Additional context
Swapping definitions of
t1()
andt2()
makes the error disappear:The text was updated successfully, but these errors were encountered: