/* LICENSE BEGIN This file is part of the SixtyFPS Project -- https://sixtyfps.io Copyright (c) 2020 Olivier Goffart Copyright (c) 2020 Simon Hausmann SPDX-License-Identifier: GPL-3.0-only This file is also available under commercial licensing terms. Please contact info@sixtyfps.io for more information. LICENSE END */ TC := Rectangle { outer := VerticalLayout { // ^error{The binding for the property 'width' is part of a binding loop} // ^^error{The binding for the property 'layoutinfo_h' is part of a binding loop} inner := HorizontalLayout { // ^error{The binding for the property 'width' is part of a binding loop} // ^^error{The binding for the property 'layoutinfo_h' is part of a binding loop} inner_inner := VerticalLayout { width: parent.width; // ^error{The binding for the property 'width' is part of a binding loop} Rectangle {} } } } } Test := Rectangle { VerticalLayout { // ^error{The binding for the property 'layoutinfo_h' is part of a binding loop} // FIXME: That's an internal property, but people might understand // ^^error{The binding for the property 'min_width' is part of a binding loop} Rectangle { width: parent.min_width; // ^error{The binding for the property 'width' is part of a binding loop} } } l := HorizontalLayout { // ^error{The binding for the property 'layoutinfo_h' is part of a binding loop} // FIXME: That's an internal property, but people might understand // ^^error{The binding for the property 'preferred_width' is part of a binding loop} Text { text: "hello \{l.preferred-width/1px}x\{l.preferred-height/1px}"; // ^error{The binding for the property 'text' is part of a binding loop} } } tc := TC { // ^error{The binding for the property 'preferred_width' is part of a binding loop} // ^^error{The binding for the property 'layoutinfo_h' is part of a binding loop} width: preferred-width; // ^error{The binding for the property 'width' is part of a binding loop} } }