You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A few places that referenced namespace declarations didn't include the grammar production for *file_scoped_namespace_declaration* as well as *namespace_body*.
- Withinallcompilationunitsofaprogram, *namespace_member_declaration*swithin *namespace_declaration*sthathavethesamefullyqualifiednamespacenamearemembersofasinglecombineddeclarationspace. Per §14.3, thisincludes *file_scoped_namespace_declaration*s.
249
249
- Each *compilation_unit* and *namespace_body* hasan ***aliasdeclarationspace***. Each *extern_alias_directive* and *using_alias_directive* ofthe *compilation_unit* or *namespace_body* contributesamembertothealiasdeclarationspace ([§14.5.2](namespaces.md#1452-using-alias-directives)).
250
250
- Each non-partial class, struct, or interface declaration creates a new declaration space. Each partial class, struct, or interface declaration contributes to a declaration space shared by all matching parts in the same program ([§16.2.4](structs.md#1624-partial-modifier)). Names are introduced into this declaration space through *class_member_declaration*s, *struct_member_declaration*s, *interface_member_declaration*s, or *type_parameter*s. Except for overloaded instance constructor declarations and static constructor declarations, a class, struct, or interface cannot contain a member declaration with the same name as the class, struct, or interface. A class, struct, or interface permits the declaration of overloaded methods and indexers. Furthermore, a class or struct permits the declaration of overloaded instance constructors and operators. For example, a class, struct, or interface may contain multiple method declarations with the same name, provided these method declarations differ in their signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)). Note that base classes do not contribute to the declaration space of a class, and base interfaces do not contribute to the declaration space of an interface. Thus, a derived class or interface is allowed to declare a member with the same name as an inherited member. Such a member is said to ***hide*** the inherited member.
251
251
- Eachdelegatedeclarationcreatesanewdeclarationspace. Namesareintroducedintothisdeclarationspacethroughparameters (*fixed_parameter*sand *parameter_array*s) and *type_parameter*s.
@@ -772,9 +772,9 @@ The ***scope*** of a name is the region of program text within which it is possi
0 commit comments