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
gives Dialyzer error The call 'Elixir.MapSet':'member?'(_public_fields@1::#{'__struct__':='Elixir.MapSet', _=>_},_field@1::any()) does not have an opaque term of type 'Elixir.MapSet':t(_) as 1st argument
I would say that this is an issue or deficiency of dialyzer. There are two basic options: make the type completely opaque or make it completely public. We generally want to make it opaque, with just information that it's a struct public. This is not supported by dialyzer and making the type opaque and it's structure private is a much safer solution for us. Otherwise people might start using the internals or relying on implementation details which is explicitly not supported.
Environment
Current behavior
gives Dialyzer error
The call 'Elixir.MapSet':'member?'(_public_fields@1::#{'__struct__':='Elixir.MapSet', _=>_},_field@1::any()) does not have an opaque term of type 'Elixir.MapSet':t(_) as 1st argument
Expected behavior
Dialyzer not to give any error.
Similar to elixir-ecto/ecto#2693, fixed by making the type not opaque.
The text was updated successfully, but these errors were encountered: