Using typedefed types as covariant return types
Rick Mann
rmann-d-lang at latencyzero.com
Wed Feb 7 12:58:53 PST 2007
I didn't get any responses in D.learn for this question, so I decided maybe it was advanced enough for this group.
I was hoping I could do this:
typedef void* CFTypeRef;
typedef CFTypeRef CFStringRef;
class DCFObject
{
CFTypeRef getRef() {}
}
class DString : DCFObject
{
CFStringRef getRef() {}
}
But the compiler gives me:
src/d/darbon/corefoundation/DString.d:32: function darbon.corefoundation.DString.DString.getRef of type CFStringRef() overrides but is not covariant with darbon.corefoundation.DCFObject.DCFObject.getRef of type CFTypeRef()
>From what I gather in the docs, CFStringRef is derived from CFTypeRef, so this should be acceptable. Am I missing something?
TIA,
Rick
More information about the Digitalmars-d
mailing list