# Inherit a constructed type and then use another constructed type from the same generic type in a different class. # What could go wrong? class Options inherits Dictionary cue init base.init class ObjectCatalog var _objectToSerialNum = Dictionary() def serialNumFor(obj as Object) as int # The following statement used to give the false error message: # Cannot return TValue? because "serialNumFor" is declared to return a int. # ...simply because Options inherited a constructed type. # Whether Options is declared above or below made no difference. # The problem was with bind inheritance combined with generics combined with CLR types (e.g., reading DLLs). return _objectToSerialNum[obj] class Test def main is shared pass