Natürlich, denn in TMyObject ist es nunmal nicht experimental.
TMyObject kennt das TMySubObject garnicht und kann demnach auch nicht darauf reagieren
Das macht Sinn, aber diese Begründung passt doch ebenso auf den Fall mit dem Interface. Und da ist es dann plötzlich genau anders herum.
Eigentlich ist experimental nur für Units gedacht
Vorsicht, es gibt die Warnungen W1003 SYMBOL_EXPERIMENTAL sowie W1007 UNIT_EXPERIMENTAL (
Quelle)
Ich kann auch einer ganzen
Unit ein experimental verpassen, aber sehr wohl auch einzelnen Methoden oder ganzen Klassen. Der eingangs geschilderte Fall mit der Methode
b()
ist ja auch ein absolutes Positivbeispiel, so sollte es sein.