// Copyright © SixtyFPS GmbH // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-commercial T1 := Rectangle { property foo; property bar: foo; // ^error{The binding for the property 'bar' is part of a binding loop} Text { text: bar; } } T2 := Rectangle { property t2_text; t:= Text { text: t2_text; } // ^error{The binding for the property 'text' is part of a binding loop} // ^^error{The binding for the property 'text' is part of a binding loop} property t_alias <=> t.text; // ^error{The binding for the property 't-alias' is part of a binding loop} // ^^error{The binding for the property 't-alias' is part of a binding loop} } T3 := Rectangle { property hello; property al <=> a.t_alias; // ^error{The binding for the property 'al' is part of a binding loop} HorizontalLayout { a := T2 { t2_text: b.t_alias; } // ^error{The binding for the property 't2-text' is part of a binding loop} b := T2 { t2_text: root.hello; } // ^error{The binding for the property 't2-text' is part of a binding loop} } } T4 := Rectangle { property my_property <=> x; } export App := Rectangle { VerticalLayout { T1 { foo: 44; } T1 { foo: bar; } // ^error{The binding for the property 'foo' is part of a binding loop} T3 { hello: al; } // ^error{The binding for the property 'hello' is part of a binding loop} T4 { my_property: my_property; } // ^error{Property 'my-property' cannot refer to itself} } }