@@ -662,35 +662,13 @@ end
662
662
663
663
defimpl Inspect , for: Any do
664
664
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
683
669
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
694
672
695
673
def inspect_as_struct ( map , name , infos , opts ) do
696
674
open = color_doc ( "#" <> name <> "<" , :map , opts )
0 commit comments