let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2
- if (__DEV__ && isHmrUpdating) {
- // HMR updated, force full diff
+ if (
+ __DEV__ &&
+ // #5523 dev root fragment may inherit directives
+ (isHmrUpdating || patchFlag & PatchFlags.DEV_ROOT_FRAGMENT)
+ ) {
+ // HMR updated / Dev root fragment (w/ comments), force full diff
patchFlag = 0
optimized = false
dynamicChildren = null
if (
patchFlag > 0 &&
patchFlag & PatchFlags.STABLE_FRAGMENT &&
- // #5523 dev root fragment may inherit directives so always force update
- !(__DEV__ && patchFlag & PatchFlags.DEV_ROOT_FRAGMENT) &&
dynamicChildren &&
// #2715 the previous fragment could've been a BAILed one as a result
// of renderSlot() with no valid children