title: Delphi generics invalid cast
body: <p>I'm using Delphi XE3 and
  I don't understand why the first cast below does not compile :(</p>
  
  <pre><code>type
    TBase = class
    end;
  
    TDerived = class(TBase)
    end;
  
   procedure cast();
   var
     bases : TObjectList&lt;TBase&gt;;
     deriveds : TObjectList&lt;TDerived&gt;;
  
   begin
     bases := deriveds; // specific to generid, Here !
     deriveds := bases; // generic to specific, ok should not compile as is !
   end;
  </code></pre>