fix #2715
The bug was introduced by #2485 where a compiled slot may result in a bailed Fragment
which then gets its dynamicChildren set to `null` by the renderer.
if (
patchFlag > 0 &&
patchFlag & PatchFlags.STABLE_FRAGMENT &&
- dynamicChildren
+ dynamicChildren &&
+ // #2715 the previous fragment could've been a BAILed one as a result
+ // of renderSlot() with no valid children
+ n1.dynamicChildren
) {
// a stable fragment (template root or <template v-for>) doesn't need to
// patch children order, but it may contain dynamicChildren.
patchBlockChildren(
- n1.dynamicChildren!,
+ n1.dynamicChildren,
dynamicChildren,
container,
parentComponent,