     public private(set) var children: [LayoutNode]
     public private(set) weak var parent: LayoutNode? {
         didSet {
+            if let parent = parent, parent._setupComplete {
+                parent._widthDependsOnParent = nil
+                parent._heightDependsOnParent = nil
+            }
             if _setupComplete {
                 cleanUp()
                 overrideExpressions()

            return true
        }
        if value(forSymbol: "height", dependsOn: "inferredSize.height"),
            !_usesAutoLayout, view.intrinsicContentSize.height == UIViewNoIntrinsicMetric,
            expressions["contentSize"] == nil, expressions["contentSize.height"] == nil {
            _heightDependsOnParent = true
            return true
        }

            return true
        }
        if value(forSymbol: "width", dependsOn: "inferredSize.width"),
            expressions["contentSize"] == nil, expressions["contentSize.width"] == nil,
            !_usesAutoLayout, view.intrinsicContentSize.width == UIViewNoIntrinsicMetric, children.isEmpty {
            _widthDependsOnParent = true
            return true
        }
