1) Mantis 3278 ___Yes _X_No
The current sentence on covariant return types is a bit hard to parse - how about the following change:
The return type of a virtual method function shall be either be a matching type or a derived class type of the return type (of the virtual method) in the super class.
Also, the final example is too narrowly defined. It only shows the simplest case (that of a matching type via a typedef). It should discuss matching types via parameter overrides (and perhaps some verbiage to that effect may be needed):
typedef int T; // T and int are matching datatypes.
class C;
virtual function C some_method(int a); endfunction
endclass
class D extends C;
virtual function D some_method(T a); endfunction
endclass
class E #(type Y) extends C;
virtual function D some_method(Y a); endfunction
endclass
E#(int) e1; // OK - class specialization has matching types
E#(logic) e2; // Error - no matching types in class specialization
(2) Mantis 3279 _X_Yes ___No
CLOSE: [already merged into 3278]
(3) Mantis 3293 _X_Yes ___No
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Fri Jun 3 11:54:47 2011
This archive was generated by hypermail 2.1.8 : Fri Jun 03 2011 - 11:54:51 PDT