having a procedure Foo(var x: TSomeClass); calling it with Foo(TSomeClass(ObjOfBaseClassOfTSomeClass)); It compiles with 2.6.0. Just want to be sure, it wont stop in future versions.