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

Comp := Rectangle {
    property<length> custom_prop;
    property<color> color_prop;
    color_prop: red;

    Rectangle {
        x: custom_prop;
        y: nothing;
//         ^error{Unknown unqualified identifier 'nothing'}
    }

}


export X := Rectangle {
    width: 50phx;
    height: width;

    foo := Rectangle {
        border_width: foo.height;
    }

    Rectangle {
        width: foo.height;
        height: xxx.fff;
//              ^error{Cannot access id 'xxx'}
        background: foo.height.blue;
//                             ^error{Cannot access the field 'blue' of length}
        x: foo.blue;
//             ^error{Element 'Rectangle' does not have a property 'blue'}

    }

    plop := Comp {
        x: plop.custom_prop;
        color_prop: yellow;
        y: plop.not_exist;
//              ^error{Element 'Comp' does not have a property 'not_exist'}
    }

    img := Image{}

    callback dummy;
    dummy => {
        ["hello"].length = 45;
//      ^error{Assignment needs to be done on a property}
        img.source.width = 45;
//      ^error{Assignment needs to be done on a property}

    }

}
