@@ -626,12 +626,12 @@ defmodule Kernel.Typespec do
626626 typespec ( { :record , meta , [ atom , [ ] ] } , vars , caller , state )
627627 end
628628
629- defp typespec ( { :record , meta , [ tag , field_specs ] } , vars , caller , state )
630- when is_atom ( tag ) and is_list ( field_specs ) do
629+ defp typespec ( { :record , meta , [ name , field_specs ] } , vars , caller , state )
630+ when is_atom ( name ) and is_list ( field_specs ) do
631631 # We cannot set a function name to avoid tracking
632632 # as a compile time dependency because for records it actually is one.
633- case Macro . expand ( { tag , [ ] , [ { :{} , [ ] , [ ] } ] } , caller ) do
634- { _ , _ , [ name , fields | _ ] } when is_list ( fields ) ->
633+ case Macro . expand ( { name , [ ] , [ { :{} , [ ] , [ ] } ] } , caller ) do
634+ { _ , _ , [ tag , fields | _ ] } when is_list ( fields ) ->
635635 types =
636636 :lists . map (
637637 fn { field , _ } ->
@@ -646,19 +646,19 @@ defmodule Kernel.Typespec do
646646
647647 fun = fn { field , _ } ->
648648 if not Keyword . has_key? ( fields , field ) do
649- compile_error ( caller , "undefined field #{ field } on record #{ inspect ( tag ) } " )
649+ compile_error ( caller , "undefined field #{ field } on record #{ inspect ( name ) } " )
650650 end
651651 end
652652
653653 :lists . foreach ( fun , field_specs )
654- typespec ( { :{} , meta , [ name | types ] } , vars , caller , state )
654+ typespec ( { :{} , meta , [ tag | types ] } , vars , caller , state )
655655
656656 _ ->
657- compile_error ( caller , "unknown record #{ inspect ( tag ) } " )
657+ compile_error ( caller , "unknown record #{ inspect ( name ) } " )
658658 end
659659 end
660660
661- defp typespec ( { :record , _meta , [ _tag , _field_specs ] } , _vars , caller , _state ) do
661+ defp typespec ( { :record , _meta , [ _name , _field_specs ] } , _vars , caller , _state ) do
662662 message = "invalid record specification, expected the record name to be an atom literal"
663663 compile_error ( caller , message )
664664 end
0 commit comments