@@ -662,35 +662,13 @@ end
662662
663663defimpl Inspect , for: Any do
664664 def inspect ( % module { } = struct , opts ) do
665- try do
666- module . __info__ ( :struct )
667- rescue
668- _ -> Inspect.Map . inspect_as_map ( struct , opts )
669- else
670- info ->
671- if valid_struct? ( info , struct ) do
672- info =
673- for % { field: field } = map <- info ,
674- field != :__exception__ ,
675- do: map
676-
677- Inspect.Map . inspect_as_struct ( struct , Macro . inspect_atom ( :literal , module ) , info , opts )
678- else
679- Inspect.Map . inspect_as_map ( struct , opts )
680- end
681- end
682- end
665+ info =
666+ for % { field: field } = map <- module . __info__ ( :struct ) ,
667+ field != :__exception__ ,
668+ do: map
683669
684- defp valid_struct? ( info , struct ) , do: valid_struct? ( info , struct , map_size ( struct ) - 1 )
685-
686- defp valid_struct? ( [ % { field: field } | info ] , struct , count ) when is_map_key ( struct , field ) ,
687- do: valid_struct? ( info , struct , count - 1 )
688-
689- defp valid_struct? ( [ ] , _struct , 0 ) ,
690- do: true
691-
692- defp valid_struct? ( _fields , _struct , _count ) ,
693- do: false
670+ Inspect.Map . inspect_as_struct ( struct , Macro . inspect_atom ( :literal , module ) , info , opts )
671+ end
694672
695673 def inspect_as_struct ( map , name , infos , opts ) do
696674 open = color_doc ( "#" <> name <> "<" , :map , opts )
0 commit comments