Gordon Vreugdenhil wrote regarding Mantis 2611:
This part of your answer is a straw man argument.If you claim that you must pay attention to the *type* of C then you have issues with: package C; int y; endpackage module top #(type T); T C; int x = C::y; endmodule Given that this is purely lexical search, I think it makes the most sense to say that '::' prefix resolution is eager and does package resolution only if no other intervening name exists.
The left operand of the scope resolution operator :: shall be a class type name, package name (see 26.2),The language grammar already requires us to distinguish between object and type identifiers when parsing;
covergroup type name, coverpoint name, cross name (see 19.5, 19.6), typedef name or type parame-
ter. When a typedef name or type parameter is used, the name shall resolve to a class or covergroup type
after elaboration.
This archive was generated by hypermail 2.1.8 : Fri Apr 24 2009 - 13:17:43 PDT