// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial

component Foo {
//            ^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
//            ^^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
    HorizontalLayout {
//  ^error{The binding for the property 'layout-cache' is part of a binding loop}
//  ^^error{The binding for the property 'width' is part of a binding loop}
//  ^^^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}
//  ^^^^^error{The binding for the property 'layout-cache' is part of a binding loop}
//  ^^^^^^error{The binding for the property 'width' is part of a binding loop}
//  ^^^^^^^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}

        Text {
            text: "hello";
            font_size: self.width / 2.5;
//                     ^error{The binding for the property 'font-size' is part of a binding loop}
//                     ^^error{The binding for the property 'font-size' is part of a binding loop}
        }
    }
}

component Bar {
//            ^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
    HorizontalLayout {
//  ^error{The binding for the property 'layout-cache' is part of a binding loop}
//  ^^error{The binding for the property 'width' is part of a binding loop}
//  ^^^error{The binding for the property 'width' is part of a binding loop}
//  ^^^^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}
        Foo {}
        Foo {}
    }
}

export component Apps inherits Window {
    Bar {}
//  ^error{The binding for the property 'preferred-width' is part of a binding loop}
//  ^^error{The binding for the property 'width' is part of a binding loop}
}
