<p dir="auto">new items in collection are not hydrated to dataClass but they are as ARRAY's</p>
<p dir="auto">it means that after form bind i'll get :</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="class Foo {
    private items -&gt;&gt; PersistedColleaction{
        col = ArrayCollection {
            [0] = FooClass() // already in collection
            [1] = array('foo':'faa', ... ) // new items added to form are not hydrated back to proper class but they are  arrays 
        }
    }
}"><pre class="notranslate"><code class="notranslate">class Foo {
    private items -&gt;&gt; PersistedColleaction{
        col = ArrayCollection {
            [0] = FooClass() // already in collection
            [1] = array('foo':'faa', ... ) // new items added to form are not hydrated back to proper class but they are  arrays 
        }
    }
}
</code></pre></div>
<p dir="auto">... it's new feature of master branch?</p>
<p dir="auto">Since the recent refactoring of the way default options are merged for a Form, setting a default value according to the value of another option does not work anymore for the hierarchy as the parent type will apply this default with its own default value even if the child type changed the default value. This is because the way the defaults are applied changed so the child type is applied only later.<br>
A good way to see this is to define a type setting a default value for the <code class="notranslate">data_class</code> property. The <code class="notranslate">empty_data</code> default value set by the FieldType won't be set properly in the form (we would expect getting a closure crating an instance of the class).<br>
This is a BC break and makes the type inheritance less powerful IMO.</p>
<p dir="auto">/cc @bschussek</p>