using typedefed types as covariant return types

Rick Mann rmann-d-lang at
Sun Feb 4 22:50:51 PST 2007

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()

More information about the Digitalmars-d-learn mailing list