From f8b4123613a2cb0c453726033a03a1968205ccae Mon Sep 17 00:00:00 2001
From: Robert Griesemer  
 A struct is a sequence of named elements, called fields, each of which has a
 name and a type. Field names may be specified explicitly (IdentifierList) or
-implicitly (AnonymousField).
+implicitly (EmbeddedField).
 Within a struct, non-blank field names must
 be unique.
  
-A field declared with a type but no explicit field name is an anonymous field,
-also called an embedded field or an embedding of the type in the struct.
-An embedded type must be specified as
+A field declared with a type but no explicit field name is called an embedded field.
+An embedded field must be specified as
 a type name  
 A field or method T consists of all
 The method set of the corresponding pointer type *T
 is the set of all methods declared with receiver *T or T
 (that is, it also contains the method set of T).
-Further rules apply to structs containing anonymous fields, as described
+Further rules apply to structs containing embedded fields, as described
 in the section on struct types.
 Any other type has an empty method set.
 In a method set, each method must have a
@@ -947,16 +947,16 @@ Moreover, the inner slices must be initialized individually.
 
-StructType     = "struct" "{" { FieldDecl ";" } "}" .
-FieldDecl      = (IdentifierList Type | AnonymousField) [ Tag ] .
-AnonymousField = [ "*" ] TypeName .
-Tag            = string_lit .
+StructType    = "struct" "{" { FieldDecl ";" } "}" .
+FieldDecl     = (IdentifierList Type | EmbeddedField) [ Tag ] .
+EmbeddedField = [ "*" ] TypeName .
+Tag           = string_lit .
 
 
 
@@ -974,16 +974,15 @@ struct {
 
 
 T or as a pointer to a non-interface type name *T,
 and T itself may not be
 a pointer type. The unqualified type name acts as the field name.
 
-// A struct with four anonymous fields of type T1, *T2, P.T3 and *P.T4
+// A struct with four embedded fields of types T1, *T2, P.T3 and *P.T4
 struct {
 	T1        // field name is T1
 	*T2       // field name is T2
@@ -1000,15 +999,15 @@ in a struct type:
 
 
 struct {
-	T     // conflicts with anonymous field *T and *P.T
-	*T    // conflicts with anonymous field T and *P.T
-	*P.T  // conflicts with anonymous field T and *T
+	T     // conflicts with embedded field *T and *P.T
+	*T    // conflicts with embedded field T and *P.T
+	*P.T  // conflicts with embedded field T and *T
 }
 
 
 f of an
-anonymous field in a struct x is called promoted if
+embedded field in a struct x is called promoted if
 x.f is a legal selector that denotes
 that field or method f.
 
S contains an anonymous field T,
+	If S contains an embedded field T,
 	the method sets of S
 	and *S both include promoted methods with receiver
 	T. The method set of *S also
@@ -1033,7 +1032,7 @@ promoted methods are included in the method set of the struct as follows:
 	S contains an anonymous field *T,
+	If S contains an embedded field *T,
 	the method sets of S and *S both
 	include promoted methods with receiver T or
 	*T.
@@ -1434,8 +1433,8 @@ literal structure and corresponding components have identical types. In detail:
 	x is a package name, see the section on
 A selector f may denote a field or method f of
 a type T, or it may refer
 to a field or method f of a nested
-anonymous field of T.
-The number of anonymous fields traversed
+embedded field of T.
+The number of embedded fields traversed
 to reach f is called its depth in T.
 The depth of a field or method f
 declared in T is zero.
 The depth of a field or method f declared in
-an anonymous field A in T is the
+an embedded field A in T is the
 depth of f in A plus one.
 
 
-- 
2.51.0