slint/internal/compiler/tests/syntax/analysis/binding_loop_layout_if.slint
Alex Badics 259756c0fd compiler: don't inline repeater components
They don't need to be inlined, and a lot of the times inlining them incur
a significant overhead (e.g. in case of conditional complex components)
2025-02-21 11:16:00 +01:00

37 lines
1.3 KiB
Text

// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
component Wrapper {
width: 100%;
height: 100%;
Rectangle {
// ^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
VerticalLayout {
// ^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
if root.width > 200px: Rectangle { }
}
}
}
component WrapperInherited inherits Rectangle {
VerticalLayout {
// ^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
if root.width > 200px: Rectangle { }
}
}
export component Test inherits Window {
VerticalLayout {
HorizontalLayout {
// ^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 'layout-cache' is part of a binding loop}
WrapperInherited { }
// ^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
Wrapper { }
// ^error{The binding for the property 'layoutinfo-h' is part of a binding loop}
}
}
}