sixtyfps-compilerlib 0.1.2

Internal SixtyFPS compiler library
Documentation
/* LICENSE BEGIN
    This file is part of the SixtyFPS Project -- https://sixtyfps.io
    Copyright (c) 2021 Olivier Goffart <olivier.goffart@sixtyfps.io>
    Copyright (c) 2021 Simon Hausmann <simon.hausmann@sixtyfps.io>

    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}
    }
}