@@ -626,12 +626,12 @@ defmodule Kernel.Typespec do
626
626
typespec ( { :record , meta , [ atom , [ ] ] } , vars , caller , state )
627
627
end
628
628
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
631
631
# We cannot set a function name to avoid tracking
632
632
# 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 ) ->
635
635
types =
636
636
:lists . map (
637
637
fn { field , _ } ->
@@ -646,19 +646,19 @@ defmodule Kernel.Typespec do
646
646
647
647
fun = fn { field , _ } ->
648
648
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 ) } " )
650
650
end
651
651
end
652
652
653
653
:lists . foreach ( fun , field_specs )
654
- typespec ( { :{} , meta , [ name | types ] } , vars , caller , state )
654
+ typespec ( { :{} , meta , [ tag | types ] } , vars , caller , state )
655
655
656
656
_ ->
657
- compile_error ( caller , "unknown record #{ inspect ( tag ) } " )
657
+ compile_error ( caller , "unknown record #{ inspect ( name ) } " )
658
658
end
659
659
end
660
660
661
- defp typespec ( { :record , _meta , [ _tag , _field_specs ] } , _vars , caller , _state ) do
661
+ defp typespec ( { :record , _meta , [ _name , _field_specs ] } , _vars , caller , _state ) do
662
662
message = "invalid record specification, expected the record name to be an atom literal"
663
663
compile_error ( caller , message )
664
664
end
0 commit comments