// 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 {
    callback pressed;
}

export Test := Comp {
    property<int> foo;
    foo: 100;
    property<NonExistent> bar;
//           ^error{Unknown type 'NonExistent'}
    property<{ a: int, b: NonExistent}> obj;
//                        ^error{Unknown type 'NonExistent'}
    property<[NonExistent]> array;
//            ^error{Unknown type 'NonExistent'}
    property<float> foo;
//                  ^error{Cannot override property 'foo'}
    property<string> text: "property with binding initializer";
    property<int> x;
//                ^error{Cannot override property 'x'}

    property<string> colspan;
//                   ^error{Cannot override property 'colspan'}

    property<bool> pressed;
//                 ^error{Cannot declare property 'pressed' when a callback with the same name exists}
}
