
/* THIS FILE IS GENERATED BY rust-cpp. DO NOT EDIT */

#include "stdint.h" // For {u}intN_t
#include <new> // For placement new
#include <cstdlib> // For abort
#include <type_traits>
#include <utility>

namespace rustcpp {

// We can't just pass or return any type from extern "C" rust functions (because the call
// convention may differ between the C++ type, and the Rust type).
// So we make sure to pass trivial structure that only contains a pointer to the object we want to
// pass. The constructor of these helper class contains a 'container' of the right size which will
// be allocated on the stack.
template<typename T> struct return_helper {
    struct container {
#if defined (_MSC_VER) && (_MSC_VER + 0 < 1900)
        char memory[sizeof(T)];
        ~container() { reinterpret_cast<T*>(this)->~T(); }
#else
        // The fact that it is in an union means it is properly sized and aligned, but we have
        // to call the destructor and constructor manually
        union { T memory; };
        ~container() { memory.~T(); }
#endif
        container() {}
    };
    const container* data;
    return_helper(int, const container &c = container()) : data(&c) { }
};

template<typename T> struct argument_helper {
    using type = const T&;
};
template<typename T> struct argument_helper<T&> {
    T &ref;
    argument_helper(T &x) : ref(x) {}
    using type = argument_helper<T&> const&;
};

template<typename T>
typename std::enable_if<std::is_copy_constructible<T>::value>::type copy_helper(const void *src, void *dest)
{ new (dest) T (*static_cast<T const*>(src)); }
template<typename T>
typename std::enable_if<!std::is_copy_constructible<T>::value>::type copy_helper(const void *, void *)
{ std::abort(); }
template<typename T>
typename std::enable_if<std::is_default_constructible<T>::value>::type default_helper(void *dest)
{ new (dest) T(); }
template<typename T>
typename std::enable_if<!std::is_default_constructible<T>::value>::type default_helper(void *)
{ std::abort(); }

template<typename T> int compare_helper(const T &a, const T&b, int cmp) {
    switch (cmp) {
        using namespace std::rel_ops;
        case 0:
            if (a < b)
                return -1;
            if (b < a)
                return 1;
            return 0;
        case -2: return a < b;
        case 2: return a > b;
        case -1: return a <= b;
        case 1: return a >= b;
    }
    std::abort();
}
}

#define RUST_CPP_CLASS_HELPER(HASH, ...) \
    extern "C" { \
    void __cpp_destructor_##HASH(void *ptr) { typedef __VA_ARGS__ T; static_cast<T*>(ptr)->~T(); } \
    void __cpp_copy_##HASH(const void *src, void *dest) { rustcpp::copy_helper<__VA_ARGS__>(src, dest); } \
    void __cpp_default_##HASH(void *dest) { rustcpp::default_helper<__VA_ARGS__>(dest); } \
    }
#line 152 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
    void (*rust_cpp_callbacks2893770913598999019[6])() = {};
}
        
#line 229 "src/lib.rs"
       
    #include <qmetaobject_rust.hpp>

extern "C" void FnBoxWrapper_destructor();
extern "C" void FnBoxWrapper_operator();
#line 815 "src/lib.rs"
       
    struct FnBoxWrapper {
        /// Wrapped Box<dyn FnMut()>
        TraitObject fnbox;

        ~FnBoxWrapper() {
            if (fnbox.isValid()) {
                reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(FnBoxWrapper_destructor)(fnbox)

;
            }
        }

        /// Copying is not allowed.
        FnBoxWrapper &operator=(const FnBoxWrapper&) = delete;
#if false && QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
        FnBoxWrapper(const FnBoxWrapper&) = delete;
#else
        // Prior to Qt 5.10 we can't have move-only wrapper. Just do the auto_ptr kind of hack.
        FnBoxWrapper(const FnBoxWrapper &o) : fnbox(o.fnbox) {
            const_cast<FnBoxWrapper &>(o).fnbox = {};
        }
#endif

        /// Moving is allowed, since `Box<FnMut()>` itself is not pinned.
        FnBoxWrapper(FnBoxWrapper &&o) : fnbox(o.fnbox) {
            o.fnbox = {};
        }
        FnBoxWrapper &operator=(FnBoxWrapper &&o) {
            std::swap(o.fnbox, fnbox);
            return *this;
        }

        /// Call boxed function in rust.
        void operator()() {
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(FnBoxWrapper_operator)(fnbox)

;
        }
    };

    template<typename T>
    static void invokeMethod(QObject *reciever, T &&func) {
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
        QMetaObject::invokeMethod(reciever, std::forward<T>(func), Qt::QueuedConnection); // does not allow move-only
#else
        // We can't use QTimer::singleShot because "Timers can only be used with threads started with QThread"
        QObject o;
        QObject::connect(&o, &QObject::destroyed, reciever, std::forward<T>(func), Qt::QueuedConnection);
#endif
    }

extern "C" void QRustClosureSlotObject_call();
extern "C" void QRustClosureSlotObject_destruct();
#line 96 "src/connections.rs"
       
    #include <QtCore/QObject>
    #include "qmetaobject_rust.hpp"

    // Access private function of QObject. Pretend to define QObjectPrivate.
    // This rely on QObjectPrivate being a friend of QObject.
    class QObjectPrivate {
    public:
        static QMetaObject::Connection rust_connectImpl(
            const QObject *sender,
            void **signal,
            const QObject *receiver,
            void **slotPtr,
            QtPrivate::QSlotObjectBase *slot,
            Qt::ConnectionType type,
            const int *types,
            const QMetaObject *senderMetaObject
        ) {
            return QObject::connectImpl(sender, signal, receiver, slotPtr, slot,
                                        type, types, senderMetaObject);
        }
    };

    // Qt defines base 'interface' class for  abstract slots.  There are two
    // implementors in the Qt library itself:  actually object's slot method
    // QSlotObject, and a functor QFunctorSlotObject. Hereby we define third
    // type of slots: Rust closure.  Unlike previous two,  this one is not a
    // template,  because all generics stuff is  already handled on the Rust
    // side,  while C++ only has access to a trait object  which basically a
    // closure FnMut.  This class largely mirrors QFunctorSlotObject.
    class QRustClosureSlotObject : public QtPrivate::QSlotObjectBase
    {
    public:
        /// Wrapper for `*mut dyn RustFuncType`,
        /// which is a closure responsible for calling `Slot::apply`,
        /// which in turn calls the actual handler with unpacked arguments.
        using Func = TraitObject;

    private:
        Func function;

        static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) {
            // Only used when comparing slots, which is unsupported here.
            Q_UNUSED(ret);
            // QObject pointer to receiver `r` will always match sender, which
            // isn't too useful for slots. See connect() & rust_connectImpl().
            Q_UNUSED(r);

            switch (which) {

            case Destroy:
                delete static_cast<QRustClosureSlotObject *>(this_);
                break;

            case Call: {
                auto slot = static_cast<QRustClosureSlotObject *>(this_)->function;
                reinterpret_cast<void (*)(rustcpp::argument_helper<Func>::type, rustcpp::argument_helper<void **>::type)>(QRustClosureSlotObject_call)(slot, a)







;
                break;
            }

            // Equality traits are not implemented for Rust closures. This is
            // where `ret` flag is supposed to be used, but it is already
            // initialized to `false` by Qt.
            case Compare:
                break;

            // Dummy enum variant representing the total number of enum members
            case NumOperations:
                break;
            }
        }

    public:
        Q_DISABLE_COPY(QRustClosureSlotObject);
        explicit QRustClosureSlotObject(Func f) : QSlotObjectBase(&impl), function(f) {}

        ~QRustClosureSlotObject() {
            reinterpret_cast<void (*)(rustcpp::argument_helper<Func>::type)>(QRustClosureSlotObject_destruct)(function)



;
        }
    };

extern "C" void ProcessQtEvent();
extern "C" void QtDestroyFuture();
#line 39 "src/future.rs"
       

    #include <QtCore/QCoreApplication>

    /// Special QObject subclass to glue together internals of Rust's futures and Qt's events.
    /// It's lifetime is determined through reference counting, and its lifecycle is based on
    /// Qt's QObject rather than C++ RAII.
    struct Waker : QObject {
        /// Wrapped Rust's Future as a dynamic trait object.
        TraitObject future;
        /// Guard against redundant processing of multiple consecutive wake-up calls.
        bool woken = false;
        /// Guard against polling a future after it has been completed.
        bool completed = false;
        /// Reference counter.
        QAtomicInt refs = 0;

        // start with refs count of 1, because caller gets the ownership.
        Waker(TraitObject f): future(f), refs(1) {}

        void customEvent(QEvent *e) override {
            Q_UNUSED(e);
            woken = false;
            // future must not be polled after it returned `Poll::Ready`
            if (completed) {
                return;
            }
            completed = std::move(*reinterpret_cast<bool*(*)(rustcpp::argument_helper<Waker *>::type, rustcpp::argument_helper<TraitObject>::type, rustcpp::return_helper<bool>)>(ProcessQtEvent)(this, future, 0))




;
            if (completed) {
                deref();
            }
        }

        void deref() {
            if (!--refs) {
                deleteLater();
            }
        }

        void wake() {
            if (woken) {
                return;
            }
            woken = true;
            // This line results in invocation of customEvent(QEvent*) method above.
            // Note that object may be waken multiple times before the wake up call
            // actually gets proceeded by the Qt's event loop.
            QCoreApplication::postEvent(this, new QEvent(QEvent::User));
        }

        ~Waker() {
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(QtDestroyFuture)(future)

;
        }
    };

#line 188 "src/itemmodel.rs"
       
    #include <qmetaobject_rust.hpp>
    #include <QtCore/QAbstractItemModel>

extern "C" void Rust_QAbstractItemModel_index();
extern "C" void Rust_QAbstractItemModel_parent();
extern "C" void Rust_QAbstractItemModel_rowCount();
extern "C" void Rust_QAbstractItemModel_columnCount();
extern "C" void Rust_QAbstractItemModel_data();
extern "C" void Rust_QAbstractItemModel_setData();
extern "C" void Rust_QAbstractItemModel_roleNames();
#line 193 "src/itemmodel.rs"
       
    struct Rust_QAbstractItemModel : RustObject<QAbstractItemModel> {

        using QAbstractItemModel::beginInsertRows;
        using QAbstractItemModel::endInsertRows;
        using QAbstractItemModel::beginRemoveRows;
        using QAbstractItemModel::endRemoveRows;
        using QAbstractItemModel::beginResetModel;
        using QAbstractItemModel::endResetModel;
        using QAbstractItemModel::createIndex;
        using QAbstractItemModel::changePersistentIndexList;
        using QAbstractItemModel::persistentIndexList;

        QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override {
            return std::move(*reinterpret_cast<QModelIndex*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<int>::type, rustcpp::argument_helper<int>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::return_helper<QModelIndex>)>(Rust_QAbstractItemModel_index)(rust_object, row, column, parent, 0))






;
        }

        QModelIndex parent(const QModelIndex &index) const override {
            return std::move(*reinterpret_cast<QModelIndex*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::return_helper<QModelIndex>)>(Rust_QAbstractItemModel_parent)(rust_object, index, 0))




;
        }

        int rowCount(const QModelIndex &parent = QModelIndex()) const override {
            return std::move(*reinterpret_cast<int*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::return_helper<int>)>(Rust_QAbstractItemModel_rowCount)(rust_object, parent, 0))




;
        }

        int columnCount(const QModelIndex &parent = QModelIndex()) const override {
            return std::move(*reinterpret_cast<int*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::return_helper<int>)>(Rust_QAbstractItemModel_columnCount)(rust_object, parent, 0))




;
        }

        QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override {
            return std::move(*reinterpret_cast<QVariant*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::argument_helper<int>::type, rustcpp::return_helper<QVariant>)>(Rust_QAbstractItemModel_data)(rust_object, index, role, 0))





;
        }

        bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override {
            return std::move(*reinterpret_cast<bool*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::argument_helper<QVariant>::type, rustcpp::argument_helper<int>::type, rustcpp::return_helper<bool>)>(Rust_QAbstractItemModel_setData)(rust_object, index, value, role, 0))






;
        }

        QHash<int, QByteArray> roleNames() const override {
            QHash<int, QByteArray> base = QAbstractItemModel::roleNames();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QHash<int, QByteArray> &>::type)>(Rust_QAbstractItemModel_roleNames)(rust_object, base)






;
            return base;
        }
    };

extern "C" void Rust_QAbstractListModel_rowCount();
extern "C" void Rust_QAbstractListModel_data();
extern "C" void Rust_QAbstractListModel_setData();
extern "C" void Rust_QAbstractListModel_roleNames();
#line 159 "src/listmodel.rs"
       
    #include <qmetaobject_rust.hpp>
    #include <QtCore/QAbstractListModel>

    struct Rust_QAbstractListModel : RustObject<QAbstractListModel> {

        using QAbstractListModel::beginInsertRows;
        using QAbstractListModel::endInsertRows;
        using QAbstractListModel::beginRemoveRows;
        using QAbstractListModel::endRemoveRows;
        using QAbstractListModel::beginResetModel;
        using QAbstractListModel::endResetModel;
        using QAbstractListModel::beginMoveRows;
        using QAbstractListModel::endMoveRows;

        int rowCount(const QModelIndex & = QModelIndex()) const override {
            return std::move(*reinterpret_cast<int*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::return_helper<int>)>(Rust_QAbstractListModel_rowCount)(rust_object, 0))


;
        }

        //int columnCount(const QModelIndex &parent = QModelIndex()) const override;

        QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override {
            return std::move(*reinterpret_cast<QVariant*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::argument_helper<int>::type, rustcpp::return_helper<QVariant>)>(Rust_QAbstractListModel_data)(rust_object, index, role, 0))


;
        }

        bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override {
            return std::move(*reinterpret_cast<bool*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::argument_helper<QVariant>::type, rustcpp::argument_helper<int>::type, rustcpp::return_helper<bool>)>(Rust_QAbstractListModel_setData)(rust_object, index, value, role, 0))



;
        }

        //Qt::ItemFlags flags(const QModelIndex &index) const override;

        //QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;

        QHash<int, QByteArray> roleNames() const override {
            QHash<int, QByteArray> base = QAbstractListModel::roleNames();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QHash<int, QByteArray>&>::type)>(Rust_QAbstractListModel_roleNames)(rust_object, base)




;
            return base;
        }

        //QModelIndex index(int row, int column, const QModelIndex &parent) const override;

        //QModelIndex parent(const QModelIndex &child) const override;
    };

#line 13 "src/log.rs"
       
    #include <qmetaobject_rust.hpp>

#line 22 "src/qmetatype.rs"
       
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)

    // Hack to access QMetaType::registerConverterFunction which is private, but ConverterFunctor
    // is a friend
    namespace QtPrivate {
    template<>
    struct ConverterFunctor<TraitObject, TraitObject, TraitObject> : public AbstractConverterFunction
    {
        using AbstractConverterFunction::AbstractConverterFunction;
        bool registerConverter(int from, int to) {
            return QMetaType::registerConverterFunction(this, from, to);
        }
    };
    }

    using RustQMetaType = QMetaType;
    using RustMetaTypeConverterFn = QtPrivate::AbstractConverterFunction::Converter;

    static void rust_register_qmetatype_conversion(int from, int to, RustMetaTypeConverterFn converter_fn) {
        // NOTE: the ConverterFunctor are gonna be leaking (in Qt, they are supposed to be allocated in static storage
        auto c = new QtPrivate::ConverterFunctor<TraitObject, TraitObject, TraitObject>(converter_fn);
        if (!c->registerConverter(from, to))
            delete c;
    }

#else

    namespace QtPrivate {
    template<>
    struct IsMetaTypePair<TraitObject, true>
    {
        inline static bool registerConverter(QMetaType::ConverterFunction f, QMetaType from, QMetaType to) {
            return QMetaType::registerConverterFunction(f, from, to);
        }
    };
    }

    struct RustQMetaType : QtPrivate::QMetaTypeInterface {
        // some typedef that are gone in Qt6
        typedef void (*Deleter)(void *);
        typedef void (*Creator)(const QtPrivate::QMetaTypeInterface *, void *, const void *); // copy
        typedef void (*Destructor)(const QtPrivate::QMetaTypeInterface *, void *);
        typedef void (*Constructor)(const QtPrivate::QMetaTypeInterface *, void *);

        const QMetaObject *metaObject;
        QByteArray name;

        RustQMetaType(
            const QMetaObject *metaObject,
            QByteArray name,
            ushort align,
            uint size,
            uint flags,
            Constructor constructor_fn,
            Creator creator_or_copy_fn,
            Destructor destructor_fn,
            QtPrivate::QMetaTypeInterface::EqualsFn equals_fn = nullptr
        ) : QtPrivate::QMetaTypeInterface {
                /*.revision=*/ 0,
                /*.alignment=*/ align,
                /*.size=*/ size,
                /*.flags=*/ flags,
                /*.typeId=*/ 0,
                /*.metaObjectFn=*/ [](const QtPrivate::QMetaTypeInterface *iface) {
                    return static_cast<const RustQMetaType *>(iface)->metaObject;
                },
                /*.name=*/ name.constData(),
                /*.defaultCtr=*/ constructor_fn,
                /*.copyCtr=*/ creator_or_copy_fn,
                /*.moveCtr=*/ nullptr,
                /*.dtor=*/ destructor_fn,
                /*.equals=*/ equals_fn,
                /*.lessThan=*/ nullptr,
                /*.debugStream=*/ nullptr,
                /*.dataStreamOut=*/ nullptr,
                /*.dataStreamIn=*/ nullptr,
                /*.legacyRegisterOp=*/ nullptr,
            },
            metaObject(metaObject),
            name(std::move(name))
        {}
    };

    typedef bool (*RustMetaTypeConverterFn)(const void *src, void *dst);

    static void rust_register_qmetatype_conversion(int from, int to, RustMetaTypeConverterFn converter_fn) {
        QtPrivate::IsMetaTypePair<TraitObject, true>::registerConverter(converter_fn, QMetaType(from), QMetaType(to));
    }

#endif

#line 20 "src/qrc.rs"
       
    Q_CORE_EXPORT bool qRegisterResourceData(int, const unsigned char *,
                                             const unsigned char *, const unsigned char *);

#line 27 "src/qtcore/core_application.rs"
       
    #include <QtCore/QCoreApplication>

extern "C" void Rust_QmlEngineHolder_ctor();
extern "C" void Rust_QmlEngineHolder_dtor();
#line 27 "src/qtdeclarative.rs"
       
    #include <memory>
    #include <QtQuick/QtQuick>
    #include <QtCore/QDebug>
    #include <QtWidgets/QApplication>
    #include <QtQml/QQmlComponent>

    struct SingleApplicationGuard {
        SingleApplicationGuard() {
            reinterpret_cast<void (*)()>(Rust_QmlEngineHolder_ctor)()


;
        }
        ~SingleApplicationGuard() {
            reinterpret_cast<void (*)()>(Rust_QmlEngineHolder_dtor)()


;
        }
    };

    struct QmlEngineHolder : SingleApplicationGuard {
        std::unique_ptr<QApplication> app;
        std::unique_ptr<QQmlApplicationEngine> engine;
        std::unique_ptr<QQuickView> view;

        QmlEngineHolder(int &argc, char **argv)
            : app(new QApplication(argc, argv))
            , engine(new QQmlApplicationEngine())
        {}
    };

// Equivalent with QMetaObject::inherits(), for 5.6 and lower.
    bool qmeta_inherits(const QMetaObject *child, const QMetaObject *check) {
#if QT_VERSION <= QT_VERSION_CHECK(5, 7, 0)
        do {
            if (child == check) {
                return true;
            }
        } while ((child = child->superClass()));
        return false;
#else
        return child->inherits(check);
#endif
    }

#if QT_VERSION <= QT_VERSION_CHECK(6, 0, 0)
    using CreatorFunction = void (*)(void *);
#else
    using CreatorFunction = void (*)(void *, void*);
#endif

#line 372 "src/qtdeclarative.rs"
       
    struct QQmlComponentHolder {
        std::unique_ptr<QQmlComponent> component;

        QQmlComponentHolder(QQmlEngine *e)
            : component(new QQmlComponent(e))
        {}
    };

#line 584 "src/qtdeclarative.rs"
       
    using QmlRegisterSingletonTypeCallback = QObject *(*)(QQmlEngine *, QJSEngine *);

extern "C" void Rust_QQuickItem_classBegin();
extern "C" void Rust_QQuickItem_componentComplete();
extern "C" void Rust_QQuickItem_mousePressEvent();
extern "C" void Rust_QQuickItem_geometryChanged();
extern "C" void Rust_QQuickItem_updatePaintNode();
extern "C" void Rust_QQuickItem_releaseResources();
#line 815 "src/qtdeclarative.rs"
       
    #include <qmetaobject_rust.hpp>
    #include <QtQuick/QQuickItem>

    #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
        #define QT_QQUICKITEM_GEOMETRYCHANGE geometryChanged
    #else
        #define QT_QQUICKITEM_GEOMETRYCHANGE geometryChange
    #endif

    struct Rust_QQuickItem : RustObject<QQuickItem> {
    /*
        virtual QRectF boundingRect() const;
        virtual QRectF clipRect() const;
        virtual bool contains(const QPointF &point) const;
        virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
        virtual bool isTextureProvider() const;
        virtual QSGTextureProvider *textureProvider() const;
        virtual void itemChange(ItemChange, const ItemChangeData &);*/
        void classBegin() override {
            QQuickItem::classBegin();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(Rust_QQuickItem_classBegin)(rust_object)



;
        }

        void componentComplete() override {
            QQuickItem::componentComplete();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(Rust_QQuickItem_componentComplete)(rust_object)



;
        }

        /*virtual void keyPressEvent(QKeyEvent *event);
        virtual void keyReleaseEvent(QKeyEvent *event);
        virtual void inputMethodEvent(QInputMethodEvent *);
        virtual void focusInEvent(QFocusEvent *);
        virtual void focusOutEvent(QFocusEvent *);*/

        void mousePressEvent(QMouseEvent *event) override { handleMouseEvent(event); }
        void mouseMoveEvent(QMouseEvent *event) override { handleMouseEvent(event); }
        void mouseReleaseEvent(QMouseEvent *event) override { handleMouseEvent(event); }
        //void mouseDoubleClickEvent(QMouseEvent *event) override { handleMouseEvent(event); }

        void handleMouseEvent(QMouseEvent *event) {
           if (!std::move(*reinterpret_cast<bool*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QMouseEvent *>::type, rustcpp::return_helper<bool>)>(Rust_QQuickItem_mousePressEvent)(rust_object, event, 0))




) { event->ignore(); }
        }

        /*
        virtual void mouseUngrabEvent(); // XXX todo - params?
        virtual void touchUngrabEvent();
        virtual void wheelEvent(QWheelEvent *event);
        virtual void touchEvent(QTouchEvent *event);
        virtual void hoverEnterEvent(QHoverEvent *event);
        virtual void hoverMoveEvent(QHoverEvent *event);
        virtual void hoverLeaveEvent(QHoverEvent *event);
        virtual void dragEnterEvent(QDragEnterEvent *);
        virtual void dragMoveEvent(QDragMoveEvent *);
        virtual void dragLeaveEvent(QDragLeaveEvent *);
        virtual void dropEvent(QDropEvent *);
        virtual bool childMouseEventFilter(QQuickItem *, QEvent *);
        virtual void windowDeactivateEvent();*/
        void QT_QQUICKITEM_GEOMETRYCHANGE (const QRectF &new_geometry, const QRectF &old_geometry) override{
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QRectF>::type, rustcpp::argument_helper<QRectF>::type)>(Rust_QQuickItem_geometryChanged)(rust_object, new_geometry, old_geometry)





;
            QQuickItem::QT_QQUICKITEM_GEOMETRYCHANGE(new_geometry, old_geometry);
        }

        QSGNode *updatePaintNode(QSGNode *node, UpdatePaintNodeData *) override {
            return std::move(*reinterpret_cast<QSGNode **(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QSGNode *>::type, rustcpp::return_helper<QSGNode *>)>(Rust_QQuickItem_updatePaintNode)(rust_object, node, 0))






;
        }

        void releaseResources() override {
            QQuickItem::releaseResources();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(Rust_QQuickItem_releaseResources)(rust_object)



;
        }
        /*
        virtual void updatePolish();
        */
    };

extern "C" void Rust_QQmlExtensionPlugin_registerTypes();
#line 1171 "src/qtdeclarative.rs"
       
    #include <qmetaobject_rust.hpp>
    #include <QtQml/QQmlExtensionPlugin>

    struct Rust_QQmlExtensionPlugin : RustObject<QQmlExtensionPlugin> {
        void registerTypes(const char *uri) override  {
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<const char *>::type)>(Rust_QQmlExtensionPlugin_registerTypes)(rust_object, uri)




;
        }
    };

extern "C" void Rust_QQuickPaintedItem_classBegin();
extern "C" void Rust_QQuickPaintedItem_componentComplete();
extern "C" void Rust_QQuickPaintedItem_mousePressEvent();
extern "C" void Rust_QQuickPaintedItem_geometryChanged();
extern "C" void Rust_QQuickPaintedItem_releaseResources();
extern "C" void Rust_QQuickPaintedItem_paint();
#line 1187 "src/qtdeclarative.rs"
       
    #include <qmetaobject_rust.hpp>
    #include <QtQuick/QQuickItem>
    #include <QtQuick/QQuickPaintedItem>
    #include <QtGui/QPainter>

    struct Rust_QQuickPaintedItem : RustObject<QQuickPaintedItem> {
        void classBegin() override {
            QQuickPaintedItem::classBegin();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(Rust_QQuickPaintedItem_classBegin)(rust_object)



;
        }

        void componentComplete() override {
            QQuickPaintedItem::componentComplete();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(Rust_QQuickPaintedItem_componentComplete)(rust_object)



;
        }

        void mousePressEvent(QMouseEvent *event) override { handleMouseEvent(event); }
        void mouseMoveEvent(QMouseEvent *event) override { handleMouseEvent(event); }
        void mouseReleaseEvent(QMouseEvent *event) override { handleMouseEvent(event); }

        void handleMouseEvent(QMouseEvent *event) {
           if (!std::move(*reinterpret_cast<bool*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QMouseEvent *>::type, rustcpp::return_helper<bool>)>(Rust_QQuickPaintedItem_mousePressEvent)(rust_object, event, 0))




) { event->ignore(); }
        }

        void QT_QQUICKITEM_GEOMETRYCHANGE (const QRectF &new_geometry, const QRectF &old_geometry) override{
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QRectF>::type, rustcpp::argument_helper<QRectF>::type)>(Rust_QQuickPaintedItem_geometryChanged)(rust_object, new_geometry, old_geometry)





;
            QQuickPaintedItem::QT_QQUICKITEM_GEOMETRYCHANGE(new_geometry, old_geometry);
        }

        void releaseResources() override {
            QQuickPaintedItem::releaseResources();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type)>(Rust_QQuickPaintedItem_releaseResources)(rust_object)



;
        }

        void paint(QPainter *p) override {
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QPainter*>::type)>(Rust_QQuickPaintedItem_paint)(rust_object, p)




;
        }
    };

#line 64 "src/scenegraph.rs"
       
    struct ContainerNode : QSGNode {
        quint64 type_id = 0;
        std::size_t size = 0; // -1 for static
        quint64 mask = 0; // one bit for every child, if it is set, or not
        ContainerNode(quint64 type_id, std::size_t size) : type_id(type_id), size(size) {}
    };

#line 358 "src/scenegraph.rs"
       
    // Just a stub for compatibility
    #if QT_VERSION < QT_VERSION_CHECK(5, 8, 0)
    struct QSGRectangleNode{};
    #endif

extern "C" void Rust_QAbstractTableModel_rowCount();
extern "C" void Rust_QAbstractTableModel_columnCount();
extern "C" void Rust_QAbstractTableModel_data();
extern "C" void Rust_QAbstractTableModel_setData();
extern "C" void Rust_QAbstractTableModel_roleNames();
#line 147 "src/tablemodel.rs"
       
    #include <qmetaobject_rust.hpp>
    #include <QtCore/QAbstractTableModel>

    struct Rust_QAbstractTableModel : RustObject<QAbstractTableModel> {

        using QAbstractTableModel::beginInsertRows;
        using QAbstractTableModel::endInsertRows;
        using QAbstractTableModel::beginInsertColumns;
        using QAbstractTableModel::endInsertColumns;
        using QAbstractTableModel::beginRemoveRows;
        using QAbstractTableModel::endRemoveRows;
        using QAbstractTableModel::beginRemoveColumns;
        using QAbstractTableModel::endRemoveColumns;
        using QAbstractTableModel::beginResetModel;
        using QAbstractTableModel::endResetModel;

        int rowCount(const QModelIndex & = QModelIndex()) const override {
            return std::move(*reinterpret_cast<int*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::return_helper<int>)>(Rust_QAbstractTableModel_rowCount)(rust_object, 0))


;
        }

        int columnCount(const QModelIndex & = QModelIndex()) const override {
            return std::move(*reinterpret_cast<int*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::return_helper<int>)>(Rust_QAbstractTableModel_columnCount)(rust_object, 0))


;
        }

        QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override {
            return std::move(*reinterpret_cast<QVariant*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::argument_helper<int>::type, rustcpp::return_helper<QVariant>)>(Rust_QAbstractTableModel_data)(rust_object, index, role, 0))


;
        }

        bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override {
            return std::move(*reinterpret_cast<bool*(*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex>::type, rustcpp::argument_helper<QVariant>::type, rustcpp::argument_helper<int>::type, rustcpp::return_helper<bool>)>(Rust_QAbstractTableModel_setData)(rust_object, index, value, role, 0))



;
        }

        //Qt::ItemFlags flags(const QModelIndex &index) const override;

        //QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;

        QHash<int, QByteArray> roleNames() const override {
            QHash<int, QByteArray> base = QAbstractTableModel::roleNames();
            reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QHash<int, QByteArray>&>::type)>(Rust_QAbstractTableModel_roleNames)(rust_object, base)




;
            return base;
        }

        //QModelIndex index(int row, int column, const QModelIndex &parent) const override;

        //QModelIndex parent(const QModelIndex &child) const override;
    };


#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_8780417384711100581(QObject * const& ptr) {
#line 241 "src/lib.rs"
                                          
            // The event 513 is caught by RustObject and deletes the object.
            QEvent e = QEvent(QEvent::Type(QtJambi_EventType_DeleteOnMainThread));
            if (ptr) {
                ptr->event(&e);
            }
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline RustQObjectDescriptor const* __cpp_closure_11313376952972301987_impl() {
#line 345 "src/lib.rs"
                                                                                    
                return RustQObjectDescriptor::instance<RustObject<QObject>>();
            
}
extern "C" {
void __cpp_closure_11313376952972301987( void* __result) {
    ::new(__result) (RustQObjectDescriptor const*)(__cpp_closure_11313376952972301987_impl());
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QVariant __cpp_closure_10149458237207721156_impl(QObject* const& self_) {
#line 361 "src/lib.rs"
                                                               
            return QVariant::fromValue(self_);
        
}
extern "C" {
void __cpp_closure_10149458237207721156(QObject* const& self_, void* __result) {
    ::new(__result) (QVariant)(__cpp_closure_10149458237207721156_impl(self_));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline SignalInner __cpp_closure_14185953185214666245_impl() {
#line 369 "src/lib.rs"
                                                                  
                return &QObject::destroyed;
            
}
extern "C" {
void __cpp_closure_14185953185214666245( void* __result) {
    ::new(__result) (SignalInner)(__cpp_closure_14185953185214666245_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_11129447056844548775(QObject* const& self_, QString const& name) {
#line 380 "src/lib.rs"
                                                           
                if (self_) self_->setObjectName(std::move(name));
            
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline SignalInner __cpp_closure_3086017227998094411_impl() {
#line 389 "src/lib.rs"
                                                                  
                return &QObject::objectNameChanged;
            
}
extern "C" {
void __cpp_closure_3086017227998094411( void* __result) {
    ::new(__result) (SignalInner)(__cpp_closure_3086017227998094411_impl());
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QObject * __cpp_closure_7247514915552691700_impl(QPointer<QObject> * const& x) {
#line 405 "src/lib.rs"
                                                                                
            return x->data();
        
}
extern "C" {
void __cpp_closure_7247514915552691700(QPointer<QObject> * const& x, void* __result) {
    ::new(__result) (QObject *)(__cpp_closure_7247514915552691700_impl(x));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QPointer<QObject> __cpp_closure_9777596078466001806_impl(QObject * const& cpp_obj) {
#line 445 "src/lib.rs"
                                                                                          
                return cpp_obj; // implicit constructor
            
}
extern "C" {
void __cpp_closure_9777596078466001806(QObject * const& cpp_obj, void* __result) {
    ::new(__result) (QPointer<QObject>)(__cpp_closure_9777596078466001806_impl(cpp_obj));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QVariant __cpp_closure_4718515084209456676_impl(QObject * const& x) {
#line 550 "src/lib.rs"
                                                                  
            return QVariant::fromValue(x);
        
}
extern "C" {
void __cpp_closure_4718515084209456676(QObject * const& x, void* __result) {
    ::new(__result) (QVariant)(__cpp_closure_4718515084209456676_impl(x));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14744523344777200217(QObject * const& object, const QMetaObject * const& meta, int const& id, void ** const& a) {
#line 641 "src/lib.rs"
       
        if (!object) {
            return;
        }
        QMetaObject::activate(object, meta, id, a);
    
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_17863083776287400678(int const& interval_ms, FnBoxWrapper & func_raw) {
#line 878 "src/lib.rs"
                                                                        
        QTimer::singleShot(interval_ms, std::move(func_raw));
    
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QPointer<QThread> __cpp_closure_883279797544911819_impl() {
#line 900 "src/lib.rs"
                                                                                
        return QThread::currentThread();
    
}
extern "C" {
void __cpp_closure_883279797544911819( void* __result) {
    ::new(__result) (QPointer<QThread>)(__cpp_closure_883279797544911819_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_17568993305222736629(FnBoxWrapper & func_raw, QPointer<QThread> const& current_thread) {
#line 928 "src/lib.rs"
                                                                                             
            if (!current_thread) {
                return;
            }
            if (!qApp || current_thread != qApp->thread()) {
                QObject *reciever = new QObject();
                reciever->moveToThread(current_thread);
                invokeMethod(reciever, std::move(func_raw));
                reciever->deleteLater();
            } else {
                invokeMethod(qApp, std::move(func_raw));
            }
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_10003171905666018673(QHash<int, QByteArray> * const& hash, int const& key, QByteArray const& value) {
#line 950 "src/lib.rs"
       
        (*hash)[key] = std::move(value);
    
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_11009305138283473102(const QMetaObject::Connection * const& self) {
#line 221 "src/connections.rs"
                                                                 
            QObject::disconnect(*self);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline bool __cpp_closure_10042054533064947215_impl(const QMetaObject::Connection * const& self) {
#line 232 "src/connections.rs"
                                                                                   
            return *self; // implicit conversion
        
}
extern "C" {
void __cpp_closure_10042054533064947215(const QMetaObject::Connection * const& self, void* __result) {
    ::new(__result) (bool)(__cpp_closure_10042054533064947215_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline SignalInner __cpp_closure_17762274495383551503_impl(ptrdiff_t const& offset) {
#line 270 "src/connections.rs"
                                                                             
            return SignalInner(offset);
        
}
extern "C" {
void __cpp_closure_17762274495383551503(ptrdiff_t const& offset, void* __result) {
    ::new(__result) (SignalInner)(__cpp_closure_17762274495383551503_impl(offset));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QMetaObject::Connection __cpp_closure_6582068430600181820_impl(const QObject * const& sender, SignalInner & cpp_signal, TraitObject const& slot_closure_raw) {
#line 515 "src/connections.rs"
                                                        
        return QObjectPrivate::rust_connectImpl(
            sender,
            cpp_signal.asRawSignal(),
            sender,
            /*slot*/nullptr, // a pointer only used when using Qt::UniqueConnection
            new QRustClosureSlotObject(slot_closure_raw),
            Qt::DirectConnection,
            /*types*/nullptr,
            sender->metaObject()
        );
    
}
extern "C" {
void __cpp_closure_6582068430600181820(const QObject * const& sender, SignalInner & cpp_signal, TraitObject const& slot_closure_raw, void* __result) {
    ::new(__result) (QMetaObject::Connection)(__cpp_closure_6582068430600181820_impl(sender, cpp_signal, slot_closure_raw));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline Waker * __cpp_closure_5564707973605811240_impl(Waker * const& s) {
#line 14 "src/future.rs"
                                                                   
                s->refs++;
                return s;
            
}
extern "C" {
void __cpp_closure_5564707973605811240(Waker * const& s, void* __result) {
    ::new(__result) (Waker *)(__cpp_closure_5564707973605811240_impl(s));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_5887418037528922131(Waker * const& s) {
#line 22 "src/future.rs"
                                      
            s->wake();
            s->deref();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_6568836846278133636(Waker * const& s) {
#line 28 "src/future.rs"
                                      
            s->wake();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_4494096039187821060(Waker * const& s) {
#line 33 "src/future.rs"
                                      
            s->deref();
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline Waker * __cpp_closure_7013171452570155490_impl(TraitObject const& f) {
#line 113 "src/future.rs"
                                                                        
            return new Waker(f);
        
}
extern "C" {
void __cpp_closure_7013171452570155490(TraitObject const& f, void* __result) {
    ::new(__result) (Waker *)(__cpp_closure_7013171452570155490_impl(f));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14367966179178332707(Waker * const& waker) {
#line 122 "src/future.rs"
                                waker->refs++; 
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline RustQObjectDescriptor const* __cpp_closure_11772559420938888923_impl() {
#line 32 "src/itemmodel.rs"
                                                                                    
                return RustQObjectDescriptor::instance<Rust_QAbstractItemModel>();
            
}
extern "C" {
void __cpp_closure_11772559420938888923( void* __result) {
    ::new(__result) (RustQObjectDescriptor const*)(__cpp_closure_11772559420938888923_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_9228721959931821624(Rust_QAbstractItemModel * const& obj, QModelIndex const& parent, int const& first, int const& last) {
#line 71 "src/itemmodel.rs"
           
            if(obj) obj->beginInsertRows(parent, first, last);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14322798566099443063(Rust_QAbstractItemModel * const& obj) {
#line 79 "src/itemmodel.rs"
                                                         
            if(obj) obj->endInsertRows();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_18073913021557342301(Rust_QAbstractItemModel * const& obj, QModelIndex const& parent, int const& first, int const& last) {
#line 92 "src/itemmodel.rs"
           
            if(obj) obj->beginRemoveRows(parent, first, last);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_13544055367456197757(Rust_QAbstractItemModel * const& obj) {
#line 100 "src/itemmodel.rs"
                                                          
            if(obj) obj->endRemoveRows();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_9231063759993212112(Rust_QAbstractItemModel * const& obj) {
#line 108 "src/itemmodel.rs"
                                                          
            if(obj) obj->beginResetModel();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_15504459280536709025(Rust_QAbstractItemModel * const& obj) {
#line 116 "src/itemmodel.rs"
                                                          
            if(obj) obj->endResetModel();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_15193049311590228010(Rust_QAbstractItemModel * const& obj) {
#line 126 "src/itemmodel.rs"
                                                          
            if (obj) obj->layoutAboutToBeChanged();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_10855595882584898393(Rust_QAbstractItemModel * const& obj, TraitObject const& f) {
#line 136 "src/itemmodel.rs"
                                                                              
            if (!obj) return;
            const auto list1 = obj->persistentIndexList();
            auto list2 = list1;
            for (QModelIndex &idx : list2) {
                reinterpret_cast<void (*)(rustcpp::argument_helper<TraitObject>::type, rustcpp::argument_helper<QModelIndex &>::type)>(rust_cpp_callbacks2893770913598999019[0])(f, idx)




;
            }
            obj->changePersistentIndexList(list1, list2);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_13487819816904089416(Rust_QAbstractItemModel * const& obj) {
#line 157 "src/itemmodel.rs"
                                                          
            if (obj) obj->layoutChanged();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_6073669901250936518(Rust_QAbstractItemModel * const& obj, QModelIndex const& top_left, QModelIndex const& bottom_right) {
#line 169 "src/itemmodel.rs"
           
            if(obj) obj->dataChanged(top_left, bottom_right);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QModelIndex __cpp_closure_17786017175883577516_impl(Rust_QAbstractItemModel * const& obj, int const& row, int const& column, uintptr_t const& id) {
#line 182 "src/itemmodel.rs"
                                           
            return obj ? obj->createIndex(row, column, id) : QModelIndex();
        
}
extern "C" {
void __cpp_closure_17786017175883577516(Rust_QAbstractItemModel * const& obj, int const& row, int const& column, uintptr_t const& id, void* __result) {
    ::new(__result) (QModelIndex)(__cpp_closure_17786017175883577516_impl(obj, row, column, id));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline RustQObjectDescriptor const* __cpp_closure_5071602492671510669_impl() {
#line 35 "src/listmodel.rs"
                                                                                    
                return RustQObjectDescriptor::instance<Rust_QAbstractListModel>();
            
}
extern "C" {
void __cpp_closure_5071602492671510669( void* __result) {
    ::new(__result) (RustQObjectDescriptor const*)(__cpp_closure_5071602492671510669_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_8253677756883664199(Rust_QAbstractListModel* const& obj, QModelIndex const& p, int const& first, int const& last) {
#line 59 "src/listmodel.rs"
                                                                                                        
                if(obj) obj->beginInsertRows(p, first, last);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_2905177406933696938(Rust_QAbstractListModel* const& obj) {
#line 68 "src/listmodel.rs"
                                                     
                if(obj) obj->endInsertRows();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_8065083107124388714(Rust_QAbstractListModel* const& obj, QModelIndex const& p, int const& first, int const& last) {
#line 78 "src/listmodel.rs"
                                                                                                        
                if(obj) obj->beginRemoveRows(p, first, last);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_3685180246548729049(Rust_QAbstractListModel* const& obj) {
#line 87 "src/listmodel.rs"
                                                     
                if(obj) obj->endRemoveRows();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_10062777244675103866(Rust_QAbstractListModel* const& obj) {
#line 96 "src/listmodel.rs"
                                                     
                if(obj) obj->beginResetModel();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_17400349056537740101(Rust_QAbstractListModel* const& obj) {
#line 105 "src/listmodel.rs"
                                                     
                if(obj) obj->endResetModel();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_11039484640512489565(Rust_QAbstractListModel* const& obj, QModelIndex const& source_parent, int const& source_first, int const& source_last, QModelIndex const& destination_parent, int const& destination_child) {
#line 122 "src/listmodel.rs"
                                                                                                                                                                                                   
                if(obj) obj->beginMoveRows(source_parent, source_first, source_last, destination_parent, destination_child);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_1340008222591477288(Rust_QAbstractListModel* const& obj) {
#line 132 "src/listmodel.rs"
                                                     
                if(obj) obj->endMoveRows();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_5719189218317585778(Rust_QAbstractListModel* const& obj, QModelIndex const& top_left, QModelIndex const& bottom_right) {
#line 142 "src/listmodel.rs"
                                                                                                               
                if(obj) obj->dataChanged(top_left, bottom_right);
            
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QModelIndex __cpp_closure_16369725372696750313_impl(Rust_QAbstractListModel* const& obj, int const& i) {
#line 152 "src/listmodel.rs"
                                                                                                  
                return obj ? obj->index(i) : QModelIndex();
            
}
extern "C" {
void __cpp_closure_16369725372696750313(Rust_QAbstractListModel* const& obj, int const& i, void* __result) {
    ::new(__result) (QModelIndex)(__cpp_closure_16369725372696750313_impl(obj, i));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline int __cpp_closure_2346045610600480728_impl(QMessageLogContext* const& self) {
#line 27 "src/log.rs"
                                                                      return self->line; 
}
extern "C" {
void __cpp_closure_2346045610600480728(QMessageLogContext* const& self, void* __result) {
    ::new(__result) (int)(__cpp_closure_2346045610600480728_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline const char* __cpp_closure_9758062190032912633_impl(QMessageLogContext* const& self) {
#line 33 "src/log.rs"
                                                                                            
                return self->file;
            
}
extern "C" {
void __cpp_closure_9758062190032912633(QMessageLogContext* const& self, void* __result) {
    ::new(__result) (const char*)(__cpp_closure_9758062190032912633_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline const char* __cpp_closure_1944806987914067364_impl(QMessageLogContext* const& self) {
#line 46 "src/log.rs"
                                                                                            
                return self->function;
            
}
extern "C" {
void __cpp_closure_1944806987914067364(QMessageLogContext* const& self, void* __result) {
    ::new(__result) (const char*)(__cpp_closure_1944806987914067364_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline const char* __cpp_closure_14584960052773094368_impl(QMessageLogContext* const& self) {
#line 59 "src/log.rs"
                                                                                            
                return self->category;
            
}
extern "C" {
void __cpp_closure_14584960052773094368(QMessageLogContext* const& self, void* __result) {
    ::new(__result) (const char*)(__cpp_closure_14584960052773094368_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QtMessageHandler __cpp_closure_8473310757743871304_impl(QtMessageHandler const& logger) {
#line 149 "src/log.rs"
                                                                                          
        return qInstallMessageHandler(logger);
    
}
extern "C" {
void __cpp_closure_8473310757743871304(QtMessageHandler const& logger, void* __result) {
    ::new(__result) (QtMessageHandler)(__cpp_closure_8473310757743871304_impl(logger));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline int __cpp_closure_4116020068678292423_impl(const char * const& name, uint const& size, ushort const& align, RustQMetaType::Deleter const& deleter_fn, RustQMetaType::Creator const& creator_or_copy_fn, RustQMetaType::Destructor const& destructor_fn, RustQMetaType::Constructor const& constructor_fn, const QMetaObject * const& gadget_metaobject) {
#line 201 "src/qmetatype.rs"
                           
            QMetaType::TypeFlags extraFlag(gadget_metaobject ? QMetaType::IsGadget : 0);
            auto flags = QMetaType::NeedsConstruction | QMetaType::NeedsDestruction | QMetaType::MovableType | extraFlag;

        #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)

            Q_UNUSED(align);
            return QMetaType::registerType(
                gadget_metaobject ? gadget_metaobject->className() : name,
                deleter_fn,
                creator_or_copy_fn,
                destructor_fn,
                constructor_fn,
                size,
                flags,
                gadget_metaobject
            );

        #else

            QByteArray name_ba(gadget_metaobject ? gadget_metaobject->className() : name);
            Q_UNUSED(deleter_fn)
            // FIXME: the rust code generate Qt5 compatible function and we wrap them in the Qt6 ones, it would be better
            // to just use the Qt6 signature directly
            // We should also consider building this structure at compile time!
            auto mt = new RustQMetaType(gadget_metaobject, name_ba, align, size, flags, constructor_fn, creator_or_copy_fn, destructor_fn);
            return QMetaType(mt).id();

        #endif
        
}
extern "C" {
void __cpp_closure_4116020068678292423(const char * const& name, uint const& size, ushort const& align, RustQMetaType::Deleter const& deleter_fn, RustQMetaType::Creator const& creator_or_copy_fn, RustQMetaType::Destructor const& destructor_fn, RustQMetaType::Constructor const& constructor_fn, const QMetaObject * const& gadget_metaobject, void* __result) {
    ::new(__result) (int)(__cpp_closure_4116020068678292423_impl(name, size, align, deleter_fn, creator_or_copy_fn, destructor_fn, constructor_fn, gadget_metaobject));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_6146937499009445000(int const& type_id, RustMetaTypeConverterFn const& converter_fn) {
#line 268 "src/qmetatype.rs"
                                                                                       
                rust_register_qmetatype_conversion(type_id, QMetaType::QString, converter_fn);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14016920772060139891(int const& type_id, RustMetaTypeConverterFn const& converter_fn) {
#line 279 "src/qmetatype.rs"
                                                                                       
                rust_register_qmetatype_conversion(QMetaType::QString, type_id, converter_fn);
            
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline int __cpp_closure_2258020688151168791_impl(const char * const& name, int const& id) {
#line 287 "src/qmetatype.rs"
                                                                                   
            if (int exist = QMetaType::type(name)) {
                if (exist != id) {
                    qWarning("Attempt to register %s as a typedef of %s, while it was already registered as %s",
                        name, QMetaType::typeName(id), QMetaType::typeName(exist));
                }
                return exist;
            }
        #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
            return QMetaType::registerTypedef(name, id);
        #else
            QMetaType::registerNormalizedTypedef(QMetaObject::normalizedType(name), QMetaType(id));
            return id;
        #endif
        
}
extern "C" {
void __cpp_closure_2258020688151168791(const char * const& name, int const& id, void* __result) {
    ::new(__result) (int)(__cpp_closure_2258020688151168791_impl(name, id));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline int __cpp_closure_1552733753218590639_impl(const QMetaObject * const& metaobject) {
#line 310 "src/qmetatype.rs"
                                                                       
        QByteArray name_ba(metaobject->className());
        name_ba += "*";
    #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
        return QMetaType::registerType(
            name_ba.constData(),
            [](void *p) { delete static_cast<void **>(p); },
            [](const void *p) -> void * {
                using T = void *;
                return new T{ p ? *static_cast<const T *>(p) : nullptr};
            },
            QtMetaTypePrivate::QMetaTypeFunctionHelper<void *>::Destruct,
            QtMetaTypePrivate::QMetaTypeFunctionHelper<void *>::Construct,
            sizeof(void *),
            QMetaType::MovableType | QMetaType::PointerToQObject,
            metaobject
        );
    #else
        // TODO: We should also consider building this structure at compile time!
        auto mt = new RustQMetaType(metaobject, name_ba,
            alignof(void *), sizeof(void *), QMetaType::RelocatableType | QMetaType::PointerToQObject,
                [](const QtPrivate::QMetaTypeInterface *, void *dst)
                    { *static_cast<void**>(dst) = nullptr; },
                [](const QtPrivate::QMetaTypeInterface *, void *dst, const void *src)
                    { *static_cast<void**>(dst) = *static_cast<void*const*>(src); },
                nullptr,
                [](const QtPrivate::QMetaTypeInterface *, const void *a, const void *b)
                    { return *static_cast<void*const*>(a) == *static_cast<void*const*>(b); });
        return QMetaType(mt).id();
    #endif
    
}
extern "C" {
void __cpp_closure_1552733753218590639(const QMetaObject * const& metaobject, void* __result) {
    ::new(__result) (int)(__cpp_closure_1552733753218590639_impl(metaobject));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QVariant __cpp_closure_1047637659964328347_impl(const void * const& self, int const& id) {
#line 376 "src/qmetatype.rs"
                                                                                     
        #if QT_VERSION < QT_VERSION_CHECK(6,0,0)
            return QVariant(id, self);
        #else
            return QVariant(QMetaType(id), self);
        #endif
        
}
extern "C" {
void __cpp_closure_1047637659964328347(const void * const& self, int const& id, void* __result) {
    ::new(__result) (QVariant)(__cpp_closure_1047637659964328347_impl(self, id));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline const void * __cpp_closure_4277059675507172747_impl(QVariant * const& var_ptr, int const& id) {
#line 392 "src/qmetatype.rs"
                                              
            return var_ptr->canConvert(id) && var_ptr->convert(id)
                ? var_ptr->constData()
                : nullptr;
        
}
extern "C" {
void __cpp_closure_4277059675507172747(QVariant * const& var_ptr, int const& id, void* __result) {
    ::new(__result) (const void *)(__cpp_closure_4277059675507172747_impl(var_ptr, id));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline const void* __cpp_closure_544279965538874760_impl(int const& id) {
#line 414 "src/qmetatype.rs"
                                                                 
    #if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
        return QMetaType(id).iface();
    #else
        Q_UNUSED(id);
        return nullptr;
    #endif
    
}
extern "C" {
void __cpp_closure_544279965538874760(int const& id, void* __result) {
    ::new(__result) (const void*)(__cpp_closure_544279965538874760_impl(id));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_585732893809165927(int const& version, const unsigned char* const& tree_ptr, const unsigned char* const& names_ptr, const unsigned char* const& payload_ptr) {
#line 37 "src/qrc.rs"
                                                                                                                                             
        qRegisterResourceData(version, tree_ptr, names_ptr, payload_ptr);
    
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QString __cpp_closure_13574484825408072336_impl() {
#line 51 "src/qtcore/core_application.rs"
                                                
            return QCoreApplication::applicationName();
        
}
extern "C" {
void __cpp_closure_13574484825408072336( void* __result) {
    ::new(__result) (QString)(__cpp_closure_13574484825408072336_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_6888936566511141194(QString const& application) {
#line 60 "src/qtcore/core_application.rs"
                                                
            QCoreApplication::setApplicationName(application);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QString __cpp_closure_2106638575543808622_impl() {
#line 69 "src/qtcore/core_application.rs"
                                                
            return QCoreApplication::applicationVersion();
        
}
extern "C" {
void __cpp_closure_2106638575543808622( void* __result) {
    ::new(__result) (QString)(__cpp_closure_2106638575543808622_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_4468368091340325823(QString const& version) {
#line 78 "src/qtcore/core_application.rs"
                                            
            QCoreApplication::setApplicationVersion(version);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QString __cpp_closure_1927490132029785998_impl() {
#line 87 "src/qtcore/core_application.rs"
                                                
            return QCoreApplication::organizationDomain();
        
}
extern "C" {
void __cpp_closure_1927490132029785998( void* __result) {
    ::new(__result) (QString)(__cpp_closure_1927490132029785998_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_1084125622249822120(QString const& org_domain) {
#line 96 "src/qtcore/core_application.rs"
                                               
            QCoreApplication::setOrganizationDomain(org_domain);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QString __cpp_closure_15809309388389538816_impl() {
#line 105 "src/qtcore/core_application.rs"
                                                
            return QCoreApplication::organizationName();
        
}
extern "C" {
void __cpp_closure_15809309388389538816( void* __result) {
    ::new(__result) (QString)(__cpp_closure_15809309388389538816_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_6659065250191819884(QString const& org_name) {
#line 114 "src/qtcore/core_application.rs"
                                             
            QCoreApplication::setOrganizationName(org_name);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_2663770354101734416() {
#line 128 "src/qtcore/core_application.rs"
                        
            QCoreApplication::quit();
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QmlEngineHolder __cpp_closure_16833634395424806436_impl(int const& argc, char ** const& argv) {
#line 101 "src/qtdeclarative.rs"
                                             
            // Static variables when used inside function are initialized only once
            static int _argc  = argc;
            static char **_argv = nullptr;
            // this is *real* initialization, and it would also happen only once
            if (_argv == nullptr) {
                // copy the arguments
                _argv = new char *[argc + 1];
                // argv should be null terminated
                _argv[argc] = nullptr;
                for (int i = 0; i < argc; ++i) {
                    _argv[i] = new char[strlen(argv[i]) + 1];
                    strcpy(_argv[i], argv[i]);
                }
            }
            return QmlEngineHolder(_argc, _argv);
        
}
extern "C" {
void __cpp_closure_16833634395424806436(int const& argc, char ** const& argv, void* __result) {
    ::new(__result) (QmlEngineHolder)(__cpp_closure_16833634395424806436_impl(argc, argv));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_15865833968626159637(QmlEngineHolder * const& self, QString const& path) {
#line 129 "src/qtdeclarative.rs"
                                                                      
            self->engine->load(path);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14202466884129387097(QmlEngineHolder * const& self, QUrl const& url) {
#line 136 "src/qtdeclarative.rs"
                                                                  
            self->engine->load(url);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_1556700805829604922(QmlEngineHolder * const& self, QByteArray const& data) {
#line 143 "src/qtdeclarative.rs"
                                                                         
            self->engine->loadData(data);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_15905874369481267894(QmlEngineHolder * const& self, QByteArray const& data, QUrl const& url) {
#line 150 "src/qtdeclarative.rs"
                                                                                        
            self->engine->loadData(data, url);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_7805004573227164(QmlEngineHolder * const& self) {
#line 157 "src/qtdeclarative.rs"
                                                   
            self->app->exec();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_1622469414220550557(QmlEngineHolder * const& self) {
#line 164 "src/qtdeclarative.rs"
                                                   
            self->app->quit();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_6082273773561598515(QmlEngineHolder * const& self, QString const& name, QVariant const& value) {
#line 171 "src/qtdeclarative.rs"
                                                                                           
            self->engine->rootContext()->setContextProperty(name, value);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_1877437021996221841(QmlEngineHolder * const& self, QObject * const& obj_ptr) {
#line 179 "src/qtdeclarative.rs"
                                                                           
            self->engine->rootContext()->setContextObject(obj_ptr);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_11904625196335660482(QmlEngineHolder * const& self, QString const& name, QObject * const& obj_ptr) {
#line 193 "src/qtdeclarative.rs"
                                                                                              
            self->engine->rootContext()->setContextProperty(name, obj_ptr);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QVariant __cpp_closure_14041139341725836627_impl(QmlEngineHolder * const& self, QByteArray const& name, size_t const& args_size, QVariant * const& args_ptr) {
#line 210 "src/qtdeclarative.rs"
         
            auto robjs = self->engine->rootObjects();
            if (robjs.isEmpty()) {
                return {};
            }
            QVariant ret;
            #define INVOKE_METHOD(...) QMetaObject::invokeMethod(robjs.first(), name, Q_RETURN_ARG(QVariant, ret) __VA_ARGS__);
            switch (args_size) {
                case 0: INVOKE_METHOD(); break;
                case 1: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0])); break;
                case 2: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1])); break;
                case 3: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2])); break;
                case 4: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3])); break;
                case 5: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4])); break;
                case 6: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5])); break;
                case 7: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5]), Q_ARG(QVariant, args_ptr[6])); break;
                case 8: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5]), Q_ARG(QVariant, args_ptr[6]), Q_ARG(QVariant, args_ptr[7])); break;
                case 9: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5]), Q_ARG(QVariant, args_ptr[6]), Q_ARG(QVariant, args_ptr[7]), Q_ARG(QVariant, args_ptr[8])); break;
            }
            #undef INVOKE_METHOD
            return ret;
        
}
extern "C" {
void __cpp_closure_14041139341725836627(QmlEngineHolder * const& self, QByteArray const& name, size_t const& args_size, QVariant * const& args_ptr, void* __result) {
    ::new(__result) (QVariant)(__cpp_closure_14041139341725836627_impl(self, name, args_size, args_ptr));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_16792237966274974184(QmlEngineHolder * const& self, QByteArray const& name, size_t const& args_size, QVariant * const& args_ptr) {
#line 246 "src/qtdeclarative.rs"
           
            auto robjs = self->engine->rootObjects();
            if (robjs.isEmpty()) {
                return;
            }
            
            #define INVOKE_METHOD(...) QMetaObject::invokeMethod(robjs.first(), name __VA_ARGS__);
            switch (args_size) {
                case 0: INVOKE_METHOD(); break;
                case 1: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0])); break;
                case 2: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1])); break;
                case 3: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2])); break;
                case 4: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3])); break;
                case 5: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4])); break;
                case 6: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5])); break;
                case 7: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5]), Q_ARG(QVariant, args_ptr[6])); break;
                case 8: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5]), Q_ARG(QVariant, args_ptr[6]), Q_ARG(QVariant, args_ptr[7])); break;
                case 9: INVOKE_METHOD(, Q_ARG(QVariant, args_ptr[0]), Q_ARG(QVariant, args_ptr[1]), Q_ARG(QVariant, args_ptr[2]), Q_ARG(QVariant, args_ptr[3]), Q_ARG(QVariant, args_ptr[4]), Q_ARG(QVariant, args_ptr[5]), Q_ARG(QVariant, args_ptr[6]), Q_ARG(QVariant, args_ptr[7]), Q_ARG(QVariant, args_ptr[8])); break;
            }
            #undef INVOKE_METHOD
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_7874822675106506785(QmlEngineHolder * const& self) {
#line 270 "src/qtdeclarative.rs"
                                                   
            self->engine->trimComponentCache();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_12124250206923320362(QmlEngineHolder * const& self) {
#line 276 "src/qtdeclarative.rs"
                                                   
            self->engine->clearComponentCache();
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QJSValue __cpp_closure_16203711403228427741_impl(QmlEngineHolder * const& self, QObject * const& obj_ptr) {
#line 290 "src/qtdeclarative.rs"
                                     
            return self->engine->newQObject(obj_ptr);
        
}
extern "C" {
void __cpp_closure_16203711403228427741(QmlEngineHolder * const& self, QObject * const& obj_ptr, void* __result) {
    ::new(__result) (QJSValue)(__cpp_closure_16203711403228427741_impl(self, obj_ptr));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_2710731489961050719(QmlEngineHolder * const& self, QString const& path) {
#line 297 "src/qtdeclarative.rs"
                                                                      
            self->engine->addImportPath(path);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QQmlEngine * __cpp_closure_15366332130198349460_impl(QmlEngineHolder * const& self) {
#line 304 "src/qtdeclarative.rs"
                                                                                    
            return self->engine.get();
        
}
extern "C" {
void __cpp_closure_15366332130198349460(QmlEngineHolder * const& self, void* __result) {
    ::new(__result) (QQmlEngine *)(__cpp_closure_15366332130198349460_impl(self));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14799193331655409801(QmlEngineHolder & engine) {
#line 319 "src/qtdeclarative.rs"
                                                       
            engine.view = std::unique_ptr<QQuickView>(new QQuickView(engine.engine.get(), nullptr));
            engine.view->setResizeMode(QQuickView::SizeRootObjectToView);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_8238193759359935819(QmlEngineHolder * const& engine) {
#line 334 "src/qtdeclarative.rs"
                                                     
            engine->view->show();
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_9478361354736959953(QmlEngineHolder * const& engine, QString const& url) {
#line 342 "src/qtdeclarative.rs"
                                                                       
            engine->view->setSource(url);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QQmlComponentHolder __cpp_closure_10447202142555968839_impl(QmlEngineHolder * const& engine) {
#line 390 "src/qtdeclarative.rs"
                                                                                              
            return QQmlComponentHolder(engine->engine.get());
        
}
extern "C" {
void __cpp_closure_10447202142555968839(QmlEngineHolder * const& engine, void* __result) {
    ::new(__result) (QQmlComponentHolder)(__cpp_closure_10447202142555968839_impl(engine));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QQmlComponent * __cpp_closure_4438881729129305987_impl(QQmlComponentHolder * const& self) {
#line 397 "src/qtdeclarative.rs"
                                                                                           
            return self->component.get();
        
}
extern "C" {
void __cpp_closure_4438881729129305987(QQmlComponentHolder * const& self, void* __result) {
    ::new(__result) (QQmlComponent *)(__cpp_closure_4438881729129305987_impl(self));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_3301394291349780863(QQmlComponentHolder * const& self, QUrl const& url, QQmlComponent::CompilationMode const& compilation_mode) {
#line 408 "src/qtdeclarative.rs"
           
            self->component->loadUrl(url, compilation_mode);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_10405852177443879512(QQmlComponentHolder * const& self, QByteArray const& data) {
#line 415 "src/qtdeclarative.rs"
                                                                             
            self->component->setData(data, QUrl());
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_18174100504210808900(QQmlComponentHolder * const& self, QByteArray const& data, QUrl const& url) {
#line 422 "src/qtdeclarative.rs"
                                                                                            
            self->component->setData(data, url);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QObject * __cpp_closure_7478465673898126446_impl(QQmlComponentHolder * const& self) {
#line 429 "src/qtdeclarative.rs"
                                                                                     
            return self->component->create();
        
}
extern "C" {
void __cpp_closure_7478465673898126446(QQmlComponentHolder * const& self, void* __result) {
    ::new(__result) (QObject *)(__cpp_closure_7478465673898126446_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QQmlComponent::Status __cpp_closure_16099700302440602572_impl(QQmlComponentHolder * const& self) {
#line 438 "src/qtdeclarative.rs"
                                                         
            return self->component->status();
        
}
extern "C" {
void __cpp_closure_16099700302440602572(QQmlComponentHolder * const& self, void* __result) {
    ::new(__result) (QQmlComponent::Status)(__cpp_closure_16099700302440602572_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline SignalInner __cpp_closure_9503875552891261682_impl() {
#line 446 "src/qtdeclarative.rs"
                                                                  
                return &QQmlComponent::statusChanged;
            
}
extern "C" {
void __cpp_closure_9503875552891261682( void* __result) {
    ::new(__result) (SignalInner)(__cpp_closure_9503875552891261682_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_2449226395511789058(QObject * const& c) {
#line 467 "src/qtdeclarative.rs"
                                        
            QQmlPrivate::qdeclarativeelement_destructor(c);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_16065137262676305783(char * const& qml_name_ptr, char * const& uri_ptr, int const& version_major, int const& version_minor, const QMetaObject * const& meta_object, CreatorFunction const& creator_fn, size_t const& size, int const& type_id) {
#line 498 "src/qtdeclarative.rs"
       
        // BEGIN: From QML_GETTYPENAMES
        // FIXME: list type?
        /*const int listLen = int(strlen("QQmlListProperty<"));
        QVarLengthArray<char,64> listName(listLen + nameLen + 2);
        memcpy(listName.data(), "QQmlListProperty<", size_t(listLen));
        memcpy(listName.data()+listLen, className, size_t(nameLen));
        listName[listLen+nameLen] = '>';
        listName[listLen+nameLen+1] = '\0';*/
        // END

        int parserStatusCast = meta_object && qmeta_inherits(meta_object, &QQuickItem::staticMetaObject)
            ? QQmlPrivate::StaticCastSelector<QQuickItem, QQmlParserStatus>::cast()
            : -1;

        QQmlPrivate::RegisterType api = {
            /*version*/ 0,

        #if QT_VERSION < QT_VERSION_CHECK(6,0,0)
            /*typeId*/ type_id,
        #else
            /*typeId*/ QMetaType(type_id),
        #endif
            /*listId*/ {},  // FIXME: list type?
            /*objectSize*/ int(size),
            /*create*/ creator_fn,
        #if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
            /* userdata */ nullptr,
        #endif
            /*noCreationReason*/ QString(),
        #if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
            /* createValueType */ nullptr,
        #endif

            /*uri*/ uri_ptr,
        #if QT_VERSION < QT_VERSION_CHECK(6,0,0)
            /*versionMajor*/ version_major,
            /*versionMinor*/ version_minor,
        #else
            /*version*/ QTypeRevision::fromVersion(version_major, version_minor),
        #endif
            /*elementName*/ qml_name_ptr,
            /*metaObject*/ meta_object,

            /*attachedPropertiesFunction*/ nullptr,
            /*attachedPropertiesMetaObject*/ nullptr,

            /*parserStatusCast*/ parserStatusCast,
            /*valueSourceCast*/ -1,
            /*valueInterceptorCast*/ -1,

            /*extensionObjectCreate*/ nullptr,
            /*extensionMetaObject*/ nullptr,
            /*customParser*/ nullptr,
            /*revision*/ {}  // FIXME: support revisions?
        };
        QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &api);
    
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_18151842013695811124(const char * const& uri_ptr, int const& version_major, int const& version_minor) {
#line 569 "src/qtdeclarative.rs"
       
    #if QT_VERSION >= QT_VERSION_CHECK(5,9,0)
        qmlRegisterModule(
            uri_ptr,
            version_major,
            version_minor
        );
    #endif
    
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_125841423374632642(const char * const& uri_ptr, int const& version_major, int const& version_minor, const char * const& qml_name_ptr, const QMetaObject * const& meta_object, QmlRegisterSingletonTypeCallback const& callback_fn, int const& type_id) {
#line 654 "src/qtdeclarative.rs"
           

            QQmlPrivate::RegisterSingletonType api = {
    #if QT_VERSION < QT_VERSION_CHECK(6,0,0)
                /*version*/ 2, // for now we are happy with pre-5.14 version 2
    #else
                /*structVersion */ 0,
    #endif

                /*uri*/ uri_ptr,
    #if QT_VERSION < QT_VERSION_CHECK(6,0,0)
                /*versionMajor*/ version_major,
                /*versionMinor*/ version_minor,
    #else
                /*version*/ QTypeRevision::fromVersion(version_major, version_minor),
    #endif
                /*typeName*/ qml_name_ptr,

                /*scriptApi*/ nullptr,
                /*qobjectApi*/ callback_fn,
                // new in version 1
                /*instanceMetaObject*/ meta_object,
                // new in version 2
    #if QT_VERSION < QT_VERSION_CHECK(6,0,0)
                /*typeId*/ type_id,
    #else
                /*typeId*/ QMetaType(type_id),
    #endif
    #if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
                /* extensionObjectCreate */ nullptr,
                /* extensionMetaObject */ nullptr,
    #endif
                /*revision*/ {},
    #if QT_VERSION >= QT_VERSION_CHECK(5,14,0) && QT_VERSION < QT_VERSION_CHECK(6,0,0)
                // new in version 3
                /*generalizedQobjectApi*/ {}
    #endif
            };

            QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api);
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_7050865636438689406(char * const& uri_ptr, int const& version_major, int const& version_minor, char * const& type_name_ptr, QObject * const& obj_ptr) {
#line 733 "src/qtdeclarative.rs"
           
    #if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
            qmlRegisterSingletonInstance(
                uri_ptr,
                version_major,
                version_minor,
                type_name_ptr,
                obj_ptr
            );
    #endif
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14616601164882999247(char * const& qml_name_ptr, char * const& uri_ptr, int const& version_major, int const& version_minor, const QMetaObject * const& meta_object) {
#line 768 "src/qtdeclarative.rs"
           
    #if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
            qmlRegisterUncreatableMetaObject(
                *meta_object,
                uri_ptr,
                version_major,
                version_minor,
                qml_name_ptr,
                "Access to enums & flags only"
            );
    #endif
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline RustQObjectDescriptor const* __cpp_closure_3834082153908858228_impl() {
#line 791 "src/qtdeclarative.rs"
                                                                                    
                return RustQObjectDescriptor::instance<Rust_QQuickItem>();
            
}
extern "C" {
void __cpp_closure_3834082153908858228( void* __result) {
    ::new(__result) (RustQObjectDescriptor const*)(__cpp_closure_3834082153908858228_impl());
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QRectF __cpp_closure_17282030858048884185_impl(Rust_QQuickItem * const& obj) {
#line 925 "src/qtdeclarative.rs"
                                                                        
            return obj ? obj->boundingRect() : QRectF();
        
}
extern "C" {
void __cpp_closure_17282030858048884185(Rust_QQuickItem * const& obj, void* __result) {
    ::new(__result) (QRectF)(__cpp_closure_17282030858048884185_impl(obj));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14708037502006111618(Rust_QQuickItem * const& obj) {
#line 932 "src/qtdeclarative.rs"
                                                  
            if (obj) obj->update();
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline int __cpp_closure_3244431720413369173_impl(QMouseEvent * const& self) {
#line 961 "src/qtdeclarative.rs"
                                                                           
            return self->type();
        
}
extern "C" {
void __cpp_closure_3244431720413369173(QMouseEvent * const& self, void* __result) {
    ::new(__result) (int)(__cpp_closure_3244431720413369173_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QPointF __cpp_closure_11082437266784215316_impl(QMouseEvent * const& self) {
#line 967 "src/qtdeclarative.rs"
                                                                       
            return self->localPos();
        
}
extern "C" {
void __cpp_closure_11082437266784215316(QMouseEvent * const& self, void* __result) {
    ::new(__result) (QPointF)(__cpp_closure_11082437266784215316_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline bool __cpp_closure_15588590317358741292_impl(const QJSValue * const& self) {
#line 980 "src/qtdeclarative.rs"
                                                                    
            return self->isBool();
        
}
extern "C" {
void __cpp_closure_15588590317358741292(const QJSValue * const& self, void* __result) {
    ::new(__result) (bool)(__cpp_closure_15588590317358741292_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline bool __cpp_closure_10703794582340376641_impl(const QJSValue * const& self) {
#line 986 "src/qtdeclarative.rs"
                                                                    
            return self->isNumber();
        
}
extern "C" {
void __cpp_closure_10703794582340376641(const QJSValue * const& self, void* __result) {
    ::new(__result) (bool)(__cpp_closure_10703794582340376641_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline bool __cpp_closure_10366679537520429895_impl(const QJSValue * const& self) {
#line 992 "src/qtdeclarative.rs"
                                                                    
            return self->isString();
        
}
extern "C" {
void __cpp_closure_10366679537520429895(const QJSValue * const& self, void* __result) {
    ::new(__result) (bool)(__cpp_closure_10366679537520429895_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QString __cpp_closure_17993455167681828034_impl(const QJSValue * const& self) {
#line 998 "src/qtdeclarative.rs"
                                                                          
            return self->toString();
        
}
extern "C" {
void __cpp_closure_17993455167681828034(const QJSValue * const& self, void* __result) {
    ::new(__result) (QString)(__cpp_closure_17993455167681828034_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline bool __cpp_closure_13196898991751831124_impl(const QJSValue * const& self) {
#line 1004 "src/qtdeclarative.rs"
                                                                    
            return self->toBool();
        
}
extern "C" {
void __cpp_closure_13196898991751831124(const QJSValue * const& self, void* __result) {
    ::new(__result) (bool)(__cpp_closure_13196898991751831124_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline double __cpp_closure_16243332204727588363_impl(const QJSValue * const& self) {
#line 1010 "src/qtdeclarative.rs"
                                                                     
            return self->toNumber();
        
}
extern "C" {
void __cpp_closure_16243332204727588363(const QJSValue * const& self, void* __result) {
    ::new(__result) (double)(__cpp_closure_16243332204727588363_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QVariant __cpp_closure_3724491200523802278_impl(const QJSValue * const& self) {
#line 1016 "src/qtdeclarative.rs"
                                                                            
            return self->toVariant();
        
}
extern "C" {
void __cpp_closure_3724491200523802278(const QJSValue * const& self, void* __result) {
    ::new(__result) (QVariant)(__cpp_closure_3724491200523802278_impl(self));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QObject * __cpp_closure_18038260789765993198_impl(const QJSValue * const& self, const QMetaObject * const& mo) {
#line 1026 "src/qtdeclarative.rs"
                                         
            QObject *obj = self->toQObject();
            // FIXME: inheritance?
            return obj && qmeta_inherits(obj->metaObject(), mo) ? obj : nullptr;
        
}
extern "C" {
void __cpp_closure_18038260789765993198(const QJSValue * const& self, const QMetaObject * const& mo, void* __result) {
    ::new(__result) (QObject *)(__cpp_closure_18038260789765993198_impl(self, mo));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QJSValue __cpp_closure_2297775464078389730_impl(QString const& a) {
#line 1040 "src/qtdeclarative.rs"
                                                                
            return QJSValue(a);
        
}
extern "C" {
void __cpp_closure_2297775464078389730(QString const& a, void* __result) {
    ::new(__result) (QJSValue)(__cpp_closure_2297775464078389730_impl(a));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QJSValue __cpp_closure_4527118604165330730_impl(int const& a) {
#line 1048 "src/qtdeclarative.rs"
                                                            
            return QJSValue(a);
        
}
extern "C" {
void __cpp_closure_4527118604165330730(int const& a, void* __result) {
    ::new(__result) (QJSValue)(__cpp_closure_4527118604165330730_impl(a));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QJSValue __cpp_closure_7720003637592621662_impl(uint const& a) {
#line 1056 "src/qtdeclarative.rs"
                                                             
            return QJSValue(a);
        
}
extern "C" {
void __cpp_closure_7720003637592621662(uint const& a, void* __result) {
    ::new(__result) (QJSValue)(__cpp_closure_7720003637592621662_impl(a));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QJSValue __cpp_closure_17310000118823233070_impl(double const& a) {
#line 1064 "src/qtdeclarative.rs"
                                                               
            return QJSValue(a);
        
}
extern "C" {
void __cpp_closure_17310000118823233070(double const& a, void* __result) {
    ::new(__result) (QJSValue)(__cpp_closure_17310000118823233070_impl(a));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QJSValue __cpp_closure_16047039010974909454_impl(bool const& a) {
#line 1072 "src/qtdeclarative.rs"
                                                             
            return QJSValue(a);
        
}
extern "C" {
void __cpp_closure_16047039010974909454(bool const& a, void* __result) {
    ::new(__result) (QJSValue)(__cpp_closure_16047039010974909454_impl(a));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline int __cpp_closure_8964476977276461279_impl() {
#line 1080 "src/qtdeclarative.rs"
                                         return qMetaTypeId<QJSValue>(); 
}
extern "C" {
void __cpp_closure_8964476977276461279( void* __result) {
    ::new(__result) (int)(__cpp_closure_8964476977276461279_impl());
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline RustQObjectDescriptor const * __cpp_closure_14207083840483672784_impl() {
#line 1161 "src/qtdeclarative.rs"
                                                                                     
                return RustQObjectDescriptor::instance<Rust_QQmlExtensionPlugin>();
            
}
extern "C" {
void __cpp_closure_14207083840483672784( void* __result) {
    ::new(__result) (RustQObjectDescriptor const *)(__cpp_closure_14207083840483672784_impl());
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline RustQObjectDescriptor const* __cpp_closure_14429191088867485001_impl() {
#line 1263 "src/qtdeclarative.rs"
                                                                                    
                return RustQObjectDescriptor::instance<Rust_QQuickPaintedItem>();
            
}
extern "C" {
void __cpp_closure_14429191088867485001( void* __result) {
    ::new(__result) (RustQObjectDescriptor const*)(__cpp_closure_14429191088867485001_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_12452725359658093533(QSGNode* const& raw) {
#line 55 "src/scenegraph.rs"
                                          delete raw; 
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QSGNode* __cpp_closure_5806150731568988229_impl(quint64 const& type_id, std::size_t const& len) {
#line 158 "src/scenegraph.rs"
                                                                                                         
                return new ContainerNode(type_id, len);
            
}
extern "C" {
void __cpp_closure_5806150731568988229(quint64 const& type_id, std::size_t const& len, void* __result) {
    ::new(__result) (QSGNode*)(__cpp_closure_5806150731568988229_impl(type_id, len));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline quint64 __cpp_closure_6187265039332251247_impl(ContainerNode* const& raw, quint64 const& type_id, std::size_t const& len) {
#line 163 "src/scenegraph.rs"
                                                                                                                          
                if (raw->size != len || raw->type_id != type_id) {
                    reinterpret_cast<void (*)()>(rust_cpp_callbacks2893770913598999019[1])();
                }
                return raw->mask;
            
}
extern "C" {
void __cpp_closure_6187265039332251247(ContainerNode* const& raw, quint64 const& type_id, std::size_t const& len, void* __result) {
    ::new(__result) (quint64)(__cpp_closure_6187265039332251247_impl(raw, type_id, len));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_2843774925391865141(ContainerNode* const& raw, quint64 const& mask) {
#line 177 "src/scenegraph.rs"
                                                                  
            raw->mask = mask;
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QSGNode* __cpp_closure_1680054991449589088_impl(quint64 const& type_id) {
#line 219 "src/scenegraph.rs"
                                                                                        
                return new ContainerNode(type_id, -1);
            
}
extern "C" {
void __cpp_closure_1680054991449589088(quint64 const& type_id, void* __result) {
    ::new(__result) (QSGNode*)(__cpp_closure_1680054991449589088_impl(type_id));
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline quint64 __cpp_closure_18059221830625005031_impl(ContainerNode* const& raw, quint64 const& type_id) {
#line 224 "src/scenegraph.rs"
                                                                                                    
                if (raw->size != std::size_t(-1) || raw->type_id != type_id) {
                    reinterpret_cast<void (*)()>(rust_cpp_callbacks2893770913598999019[2])();
                }
                return raw->mask;
            
}
extern "C" {
void __cpp_closure_18059221830625005031(ContainerNode* const& raw, quint64 const& type_id, void* __result) {
    ::new(__result) (quint64)(__cpp_closure_18059221830625005031_impl(raw, type_id));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_5953653922760464069(ContainerNode* const& raw_, quint64 const& mask) {
#line 239 "src/scenegraph.rs"
                                                                   
            raw_->mask = mask;
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QSGNode* __cpp_closure_15110739606938606272_impl(QSGNode* const& raw, QSGNode* const& before_iter) {
#line 255 "src/scenegraph.rs"
                                                                                                     
                auto node = before_iter ? before_iter->nextSibling() : raw->firstChild();
                if (!node) reinterpret_cast<void (*)()>(rust_cpp_callbacks2893770913598999019[3])();
                node->setFlag(QSGNode::OwnedByParent, false); // now we own it;
                return node;
            
}
extern "C" {
void __cpp_closure_15110739606938606272(QSGNode* const& raw, QSGNode* const& before_iter, void* __result) {
    ::new(__result) (QSGNode*)(__cpp_closure_15110739606938606272_impl(raw, before_iter));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_11712886023139476544(QSGNode* const& raw, QSGNode* const& node, QSGNode* const& before_iter) {
#line 265 "src/scenegraph.rs"
                                                                                            
                if (!node->parent()) {
                    if (before_iter)
                        raw->insertChildNodeAfter(node, before_iter);
                    else
                        raw->prependChildNode(node);
                } else if (node->parent() != raw) {
                    reinterpret_cast<void (*)()>(rust_cpp_callbacks2893770913598999019[4])();
                }
                node->setFlag(QSGNode::OwnedByParent);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_5124357981475417328(QSGRectangleNode* const& raw, QColor const& color) {
#line 369 "src/scenegraph.rs"
                                                                     
            #if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
            if(raw) raw->setColor(color);
            #endif
        
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_14684372344242381158(QSGRectangleNode* const& raw, QRectF const& rect) {
#line 377 "src/scenegraph.rs"
                                                                    
            #if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
            if (raw) raw->setRect(rect);
            #endif
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline void* __cpp_closure_16336305268722675259_impl(QQuickItem* const& item) {
#line 389 "src/scenegraph.rs"
                                                                                  
            #if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
            if (!item) return nullptr;
            if (auto window = item->window())
                return window->createRectangleNode();
            #endif
            return nullptr;
        
}
extern "C" {
void __cpp_closure_16336305268722675259(QQuickItem* const& item, void* __result) {
    ::new(__result) (void*)(__cpp_closure_16336305268722675259_impl(item));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_17284761727203972431(QSGTransformNode* const& raw, double const& x, double const& y) {
#line 409 "src/scenegraph.rs"
                                                                                
            QMatrix4x4 m;
            m.translate(x, y);
            if (raw) raw->setMatrix(m);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline void* __cpp_closure_14735575059722201107_impl() {
#line 420 "src/scenegraph.rs"
                                                              return new QSGTransformNode; 
}
extern "C" {
void __cpp_closure_14735575059722201107( void* __result) {
    ::new(__result) (void*)(__cpp_closure_14735575059722201107_impl());
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QSGNode* __cpp_closure_1010631905448490005_impl(QSGNode* const& raw) {
#line 433 "src/scenegraph.rs"
                                                                       
                    auto n = raw->firstChild();
                    if (n)
                        n->setFlag(QSGNode::OwnedByParent, false); // now we own it;
                    return n;
                
}
extern "C" {
void __cpp_closure_1010631905448490005(QSGNode* const& raw, void* __result) {
    ::new(__result) (QSGNode*)(__cpp_closure_1010631905448490005_impl(raw));
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_2776859770398879234(QSGNode* const& node, QSGNode* const& raw) {
#line 443 "src/scenegraph.rs"
                                                             
            if (!node->parent()) {
                raw->prependChildNode(node);
            } else if (node->parent() != raw) {
                reinterpret_cast<void (*)()>(rust_cpp_callbacks2893770913598999019[5])();
            }
            node->setFlag(QSGNode::OwnedByParent);
        
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline RustQObjectDescriptor const* __cpp_closure_6213605734634388383_impl() {
#line 13 "src/tablemodel.rs"
                                                                                    
                return RustQObjectDescriptor::instance<Rust_QAbstractTableModel>();
            
}
extern "C" {
void __cpp_closure_6213605734634388383( void* __result) {
    ::new(__result) (RustQObjectDescriptor const*)(__cpp_closure_6213605734634388383_impl());
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_11445500824704189160(Rust_QAbstractTableModel* const& obj, QModelIndex const& p, int const& first, int const& last) {
#line 38 "src/tablemodel.rs"
                                                                                                         
                if(obj) obj->beginInsertRows(p, first, last);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_5600164654131006554(Rust_QAbstractTableModel* const& obj) {
#line 47 "src/tablemodel.rs"
                                                      
                if(obj) obj->endInsertRows();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_7341277587555683017(Rust_QAbstractTableModel* const& obj, QModelIndex const& p, int const& first, int const& last) {
#line 57 "src/tablemodel.rs"
                                                                                                         
                if(obj) obj->beginInsertColumns(p, first, last);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_10846694520009022666(Rust_QAbstractTableModel* const& obj) {
#line 66 "src/tablemodel.rs"
                                                      
                if(obj) obj->endInsertColumns();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_3579332448458973171(Rust_QAbstractTableModel* const& obj, QModelIndex const& p, int const& first, int const& last) {
#line 76 "src/tablemodel.rs"
                                                                                                         
                if(obj) obj->beginRemoveRows(p, first, last);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_11506866327913699288(Rust_QAbstractTableModel* const& obj) {
#line 85 "src/tablemodel.rs"
                                                      
                if(obj) obj->endRemoveRows();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_13839534306130680586(Rust_QAbstractTableModel* const& obj, QModelIndex const& p, int const& first, int const& last) {
#line 95 "src/tablemodel.rs"
                                                                                                         
                if(obj) obj->beginRemoveColumns(p, first, last);
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_8730346929523589811(Rust_QAbstractTableModel* const& obj) {
#line 104 "src/tablemodel.rs"
                                                      
                if(obj) obj->endRemoveColumns();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_16997692072852659304(Rust_QAbstractTableModel* const& obj) {
#line 113 "src/tablemodel.rs"
                                                      
                if(obj) obj->beginResetModel();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_10774286417151265704(Rust_QAbstractTableModel* const& obj) {
#line 122 "src/tablemodel.rs"
                                                      
                if(obj) obj->endResetModel();
            
}
}
#line 228 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

extern "C" {
void __cpp_closure_13374916220503638173(Rust_QAbstractTableModel* const& obj, QModelIndex const& top_left, QModelIndex const& bottom_right) {
#line 131 "src/tablemodel.rs"
                                                                                                                
                if(obj) obj->dataChanged(top_left, bottom_right);
            
}
}
#line 247 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"

static inline QModelIndex __cpp_closure_1449973371292985850_impl(Rust_QAbstractTableModel* const& obj, int const& row, int const& col) {
#line 140 "src/tablemodel.rs"
                                                                                                                   
                return obj ? obj->index(row, col) : QModelIndex();
            
}
extern "C" {
void __cpp_closure_1449973371292985850(Rust_QAbstractTableModel* const& obj, int const& row, int const& col, void* __result) {
    ::new(__result) (QModelIndex)(__cpp_closure_1449973371292985850_impl(obj, row, col));
}
}
#line 396 "src/lib.rs"
           RUST_CPP_CLASS_HELPER(8579998632639373149, QPointer<QObject>)
#line 190 "src/connections.rs"
           RUST_CPP_CLASS_HELPER(17077624639096762893, QMetaObject::Connection)
#line 238 "src/connections.rs"
           RUST_CPP_CLASS_HELPER(10090472545850248849, SignalInner)
#line 17 "src/log.rs"
           RUST_CPP_CLASS_HELPER(7004685805511266194, QMessageLogContext)
#line 81 "src/qtdeclarative.rs"
           RUST_CPP_CLASS_HELPER(17031813186925980969, QmlEngineHolder)
#line 382 "src/qtdeclarative.rs"
           RUST_CPP_CLASS_HELPER(1253745284750979221, QQmlComponentHolder)
#line 973 "src/qtdeclarative.rs"
           RUST_CPP_CLASS_HELPER(2790811995414664991, QJSValue)
#line 308 "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpp_build-0.5.11/src/lib.rs"


namespace rustcpp {

template<typename T>
struct AlignOf {
    struct Inner {
        char a;
        T b;
    };
    static const uintptr_t value = sizeof(Inner) - sizeof(T);
};

template<typename T>
struct Flags {
    static const uintptr_t value =
        (std::is_copy_constructible<T>::value << 0) |
        (std::is_default_constructible<T>::value << 1) |
#if !defined(__GNUC__) || (__GNUC__ + 0 >= 5) || defined(__clang__)
        (std::is_trivially_destructible<T>::value << 2) |
        (std::is_trivially_copyable<T>::value << 3) |
        (std::is_trivially_default_constructible<T>::value << 4) |
#endif
        0;
};

struct SizeAlign {
    uint64_t hash;
    uint64_t size;
    uint64_t align;
    uint64_t flags;
};

struct MetaData {
    uint8_t magic[128];
    uint8_t version[16];
    uint64_t endianness_check;
    uint64_t length;
    SizeAlign data[427];
};

MetaData metadata_2893770913598999019 = {
    { 114, 117, 115, 116, 99, 112, 112, 126, 109, 101, 116, 97, 100, 97, 116, 97, 92, 74, 112, 213, 165, 185, 214, 120, 179, 17, 185, 25, 182, 253, 82, 118, 148, 29, 139, 208, 59, 153, 78, 137, 230, 54, 26, 177, 232, 121, 132, 166, 44, 106, 218, 57, 158, 33, 69, 32, 54, 204, 123, 226, 99, 117, 60, 173, 112, 61, 56, 174, 117, 141, 126, 249, 79, 159, 6, 119, 2, 129, 147, 66, 135, 136, 212, 252, 231, 105, 239, 91, 96, 232, 113, 94, 164, 255, 152, 144, 64, 207, 192, 90, 225, 171, 59, 154, 60, 2, 0, 191, 114, 182, 38, 134, 134, 183, 212, 227, 31, 217, 12, 5, 65, 221, 150, 59, 230, 96, 73, 62 },
    "0.5.11",
    0xffef,
    427,
    { {8780417384711100581ull, 0, 1, 0ull << 32}, {
                8780417384711100581ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {
                11313376952972301987ull,
                sizeof(RustQObjectDescriptor const*),
                rustcpp::AlignOf<RustQObjectDescriptor const*>::value,
                rustcpp::Flags<RustQObjectDescriptor const*>::value | 0ull << 32
            }, {
                10149458237207721156ull,
                sizeof(QVariant),
                rustcpp::AlignOf<QVariant>::value,
                rustcpp::Flags<QVariant>::value | 0ull << 32
            }, {
                10149458237207721156ull,
                sizeof(QObject*),
                rustcpp::AlignOf<QObject*>::value,
                rustcpp::Flags<QObject*>::value
            }, {
                14185953185214666245ull,
                sizeof(SignalInner),
                rustcpp::AlignOf<SignalInner>::value,
                rustcpp::Flags<SignalInner>::value | 0ull << 32
            }, {11129447056844548775ull, 0, 1, 0ull << 32}, {
                11129447056844548775ull,
                sizeof(QObject*),
                rustcpp::AlignOf<QObject*>::value,
                rustcpp::Flags<QObject*>::value
            }, {
                11129447056844548775ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                3086017227998094411ull,
                sizeof(SignalInner),
                rustcpp::AlignOf<SignalInner>::value,
                rustcpp::Flags<SignalInner>::value | 0ull << 32
            }, {
                7247514915552691700ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value | 0ull << 32
            }, {
                7247514915552691700ull,
                sizeof(QPointer<QObject> *),
                rustcpp::AlignOf<QPointer<QObject> *>::value,
                rustcpp::Flags<QPointer<QObject> *>::value
            }, {
                9777596078466001806ull,
                sizeof(QPointer<QObject>),
                rustcpp::AlignOf<QPointer<QObject>>::value,
                rustcpp::Flags<QPointer<QObject>>::value | 0ull << 32
            }, {
                9777596078466001806ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {
                4718515084209456676ull,
                sizeof(QVariant),
                rustcpp::AlignOf<QVariant>::value,
                rustcpp::Flags<QVariant>::value | 0ull << 32
            }, {
                4718515084209456676ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {14744523344777200217ull, 0, 1, 0ull << 32}, {
                14744523344777200217ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {
                14744523344777200217ull,
                sizeof(const QMetaObject *),
                rustcpp::AlignOf<const QMetaObject *>::value,
                rustcpp::Flags<const QMetaObject *>::value
            }, {
                14744523344777200217ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                14744523344777200217ull,
                sizeof(void **),
                rustcpp::AlignOf<void **>::value,
                rustcpp::Flags<void **>::value
            }, {17863083776287400678ull, 0, 1, 0ull << 32}, {
                17863083776287400678ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                17863083776287400678ull,
                sizeof(FnBoxWrapper),
                rustcpp::AlignOf<FnBoxWrapper>::value,
                rustcpp::Flags<FnBoxWrapper>::value
            }, {
                883279797544911819ull,
                sizeof(QPointer<QThread>),
                rustcpp::AlignOf<QPointer<QThread>>::value,
                rustcpp::Flags<QPointer<QThread>>::value | 0ull << 32
            }, {17568993305222736629ull, 0, 1, 0ull << 32}, {
                17568993305222736629ull,
                sizeof(FnBoxWrapper),
                rustcpp::AlignOf<FnBoxWrapper>::value,
                rustcpp::Flags<FnBoxWrapper>::value
            }, {
                17568993305222736629ull,
                sizeof(QPointer<QThread>),
                rustcpp::AlignOf<QPointer<QThread>>::value,
                rustcpp::Flags<QPointer<QThread>>::value
            }, {10003171905666018673ull, 0, 1, 0ull << 32}, {
                10003171905666018673ull,
                sizeof(QHash<int, QByteArray> *),
                rustcpp::AlignOf<QHash<int, QByteArray> *>::value,
                rustcpp::Flags<QHash<int, QByteArray> *>::value
            }, {
                10003171905666018673ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                10003171905666018673ull,
                sizeof(QByteArray),
                rustcpp::AlignOf<QByteArray>::value,
                rustcpp::Flags<QByteArray>::value
            }, {11009305138283473102ull, 0, 1, 0ull << 32}, {
                11009305138283473102ull,
                sizeof(const QMetaObject::Connection *),
                rustcpp::AlignOf<const QMetaObject::Connection *>::value,
                rustcpp::Flags<const QMetaObject::Connection *>::value
            }, {
                10042054533064947215ull,
                sizeof(bool),
                rustcpp::AlignOf<bool>::value,
                rustcpp::Flags<bool>::value | 0ull << 32
            }, {
                10042054533064947215ull,
                sizeof(const QMetaObject::Connection *),
                rustcpp::AlignOf<const QMetaObject::Connection *>::value,
                rustcpp::Flags<const QMetaObject::Connection *>::value
            }, {
                17762274495383551503ull,
                sizeof(SignalInner),
                rustcpp::AlignOf<SignalInner>::value,
                rustcpp::Flags<SignalInner>::value | 0ull << 32
            }, {
                17762274495383551503ull,
                sizeof(ptrdiff_t),
                rustcpp::AlignOf<ptrdiff_t>::value,
                rustcpp::Flags<ptrdiff_t>::value
            }, {
                6582068430600181820ull,
                sizeof(QMetaObject::Connection),
                rustcpp::AlignOf<QMetaObject::Connection>::value,
                rustcpp::Flags<QMetaObject::Connection>::value | 0ull << 32
            }, {
                6582068430600181820ull,
                sizeof(const QObject *),
                rustcpp::AlignOf<const QObject *>::value,
                rustcpp::Flags<const QObject *>::value
            }, {
                6582068430600181820ull,
                sizeof(SignalInner),
                rustcpp::AlignOf<SignalInner>::value,
                rustcpp::Flags<SignalInner>::value
            }, {
                6582068430600181820ull,
                sizeof(TraitObject),
                rustcpp::AlignOf<TraitObject>::value,
                rustcpp::Flags<TraitObject>::value
            }, {
                5564707973605811240ull,
                sizeof(Waker *),
                rustcpp::AlignOf<Waker *>::value,
                rustcpp::Flags<Waker *>::value | 0ull << 32
            }, {
                5564707973605811240ull,
                sizeof(Waker *),
                rustcpp::AlignOf<Waker *>::value,
                rustcpp::Flags<Waker *>::value
            }, {5887418037528922131ull, 0, 1, 0ull << 32}, {
                5887418037528922131ull,
                sizeof(Waker *),
                rustcpp::AlignOf<Waker *>::value,
                rustcpp::Flags<Waker *>::value
            }, {6568836846278133636ull, 0, 1, 0ull << 32}, {
                6568836846278133636ull,
                sizeof(Waker *),
                rustcpp::AlignOf<Waker *>::value,
                rustcpp::Flags<Waker *>::value
            }, {4494096039187821060ull, 0, 1, 0ull << 32}, {
                4494096039187821060ull,
                sizeof(Waker *),
                rustcpp::AlignOf<Waker *>::value,
                rustcpp::Flags<Waker *>::value
            }, {
                7013171452570155490ull,
                sizeof(Waker *),
                rustcpp::AlignOf<Waker *>::value,
                rustcpp::Flags<Waker *>::value | 0ull << 32
            }, {
                7013171452570155490ull,
                sizeof(TraitObject),
                rustcpp::AlignOf<TraitObject>::value,
                rustcpp::Flags<TraitObject>::value
            }, {14367966179178332707ull, 0, 1, 0ull << 32}, {
                14367966179178332707ull,
                sizeof(Waker *),
                rustcpp::AlignOf<Waker *>::value,
                rustcpp::Flags<Waker *>::value
            }, {
                11772559420938888923ull,
                sizeof(RustQObjectDescriptor const*),
                rustcpp::AlignOf<RustQObjectDescriptor const*>::value,
                rustcpp::Flags<RustQObjectDescriptor const*>::value | 0ull << 32
            }, {9228721959931821624ull, 0, 1, 0ull << 32}, {
                9228721959931821624ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {
                9228721959931821624ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                9228721959931821624ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                9228721959931821624ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {14322798566099443063ull, 0, 1, 0ull << 32}, {
                14322798566099443063ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {18073913021557342301ull, 0, 1, 0ull << 32}, {
                18073913021557342301ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {
                18073913021557342301ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                18073913021557342301ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                18073913021557342301ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {13544055367456197757ull, 0, 1, 0ull << 32}, {
                13544055367456197757ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {9231063759993212112ull, 0, 1, 0ull << 32}, {
                9231063759993212112ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {15504459280536709025ull, 0, 1, 0ull << 32}, {
                15504459280536709025ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {15193049311590228010ull, 0, 1, 0ull << 32}, {
                15193049311590228010ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {10855595882584898393ull, 0, 1, 0ull << 32}, {
                10855595882584898393ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {
                10855595882584898393ull,
                sizeof(TraitObject),
                rustcpp::AlignOf<TraitObject>::value,
                rustcpp::Flags<TraitObject>::value
            }, {13487819816904089416ull, 0, 1, 1ull << 32}, {
                13487819816904089416ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {6073669901250936518ull, 0, 1, 1ull << 32}, {
                6073669901250936518ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {
                6073669901250936518ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                6073669901250936518ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                17786017175883577516ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value | 1ull << 32
            }, {
                17786017175883577516ull,
                sizeof(Rust_QAbstractItemModel *),
                rustcpp::AlignOf<Rust_QAbstractItemModel *>::value,
                rustcpp::Flags<Rust_QAbstractItemModel *>::value
            }, {
                17786017175883577516ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                17786017175883577516ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                17786017175883577516ull,
                sizeof(uintptr_t),
                rustcpp::AlignOf<uintptr_t>::value,
                rustcpp::Flags<uintptr_t>::value
            }, {
                5071602492671510669ull,
                sizeof(RustQObjectDescriptor const*),
                rustcpp::AlignOf<RustQObjectDescriptor const*>::value,
                rustcpp::Flags<RustQObjectDescriptor const*>::value | 1ull << 32
            }, {8253677756883664199ull, 0, 1, 1ull << 32}, {
                8253677756883664199ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {
                8253677756883664199ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                8253677756883664199ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                8253677756883664199ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {2905177406933696938ull, 0, 1, 1ull << 32}, {
                2905177406933696938ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {8065083107124388714ull, 0, 1, 1ull << 32}, {
                8065083107124388714ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {
                8065083107124388714ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                8065083107124388714ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                8065083107124388714ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {3685180246548729049ull, 0, 1, 1ull << 32}, {
                3685180246548729049ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {10062777244675103866ull, 0, 1, 1ull << 32}, {
                10062777244675103866ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {17400349056537740101ull, 0, 1, 1ull << 32}, {
                17400349056537740101ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {11039484640512489565ull, 0, 1, 1ull << 32}, {
                11039484640512489565ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {
                11039484640512489565ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                11039484640512489565ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                11039484640512489565ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                11039484640512489565ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                11039484640512489565ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {1340008222591477288ull, 0, 1, 1ull << 32}, {
                1340008222591477288ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {5719189218317585778ull, 0, 1, 1ull << 32}, {
                5719189218317585778ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {
                5719189218317585778ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                5719189218317585778ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                16369725372696750313ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value | 1ull << 32
            }, {
                16369725372696750313ull,
                sizeof(Rust_QAbstractListModel*),
                rustcpp::AlignOf<Rust_QAbstractListModel*>::value,
                rustcpp::Flags<Rust_QAbstractListModel*>::value
            }, {
                16369725372696750313ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                2346045610600480728ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value | 1ull << 32
            }, {
                2346045610600480728ull,
                sizeof(QMessageLogContext*),
                rustcpp::AlignOf<QMessageLogContext*>::value,
                rustcpp::Flags<QMessageLogContext*>::value
            }, {
                9758062190032912633ull,
                sizeof(const char*),
                rustcpp::AlignOf<const char*>::value,
                rustcpp::Flags<const char*>::value | 1ull << 32
            }, {
                9758062190032912633ull,
                sizeof(QMessageLogContext*),
                rustcpp::AlignOf<QMessageLogContext*>::value,
                rustcpp::Flags<QMessageLogContext*>::value
            }, {
                1944806987914067364ull,
                sizeof(const char*),
                rustcpp::AlignOf<const char*>::value,
                rustcpp::Flags<const char*>::value | 1ull << 32
            }, {
                1944806987914067364ull,
                sizeof(QMessageLogContext*),
                rustcpp::AlignOf<QMessageLogContext*>::value,
                rustcpp::Flags<QMessageLogContext*>::value
            }, {
                14584960052773094368ull,
                sizeof(const char*),
                rustcpp::AlignOf<const char*>::value,
                rustcpp::Flags<const char*>::value | 1ull << 32
            }, {
                14584960052773094368ull,
                sizeof(QMessageLogContext*),
                rustcpp::AlignOf<QMessageLogContext*>::value,
                rustcpp::Flags<QMessageLogContext*>::value
            }, {
                8473310757743871304ull,
                sizeof(QtMessageHandler),
                rustcpp::AlignOf<QtMessageHandler>::value,
                rustcpp::Flags<QtMessageHandler>::value | 1ull << 32
            }, {
                8473310757743871304ull,
                sizeof(QtMessageHandler),
                rustcpp::AlignOf<QtMessageHandler>::value,
                rustcpp::Flags<QtMessageHandler>::value
            }, {
                4116020068678292423ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value | 1ull << 32
            }, {
                4116020068678292423ull,
                sizeof(const char *),
                rustcpp::AlignOf<const char *>::value,
                rustcpp::Flags<const char *>::value
            }, {
                4116020068678292423ull,
                sizeof(uint),
                rustcpp::AlignOf<uint>::value,
                rustcpp::Flags<uint>::value
            }, {
                4116020068678292423ull,
                sizeof(ushort),
                rustcpp::AlignOf<ushort>::value,
                rustcpp::Flags<ushort>::value
            }, {
                4116020068678292423ull,
                sizeof(RustQMetaType::Deleter),
                rustcpp::AlignOf<RustQMetaType::Deleter>::value,
                rustcpp::Flags<RustQMetaType::Deleter>::value
            }, {
                4116020068678292423ull,
                sizeof(RustQMetaType::Creator),
                rustcpp::AlignOf<RustQMetaType::Creator>::value,
                rustcpp::Flags<RustQMetaType::Creator>::value
            }, {
                4116020068678292423ull,
                sizeof(RustQMetaType::Destructor),
                rustcpp::AlignOf<RustQMetaType::Destructor>::value,
                rustcpp::Flags<RustQMetaType::Destructor>::value
            }, {
                4116020068678292423ull,
                sizeof(RustQMetaType::Constructor),
                rustcpp::AlignOf<RustQMetaType::Constructor>::value,
                rustcpp::Flags<RustQMetaType::Constructor>::value
            }, {
                4116020068678292423ull,
                sizeof(const QMetaObject *),
                rustcpp::AlignOf<const QMetaObject *>::value,
                rustcpp::Flags<const QMetaObject *>::value
            }, {6146937499009445000ull, 0, 1, 1ull << 32}, {
                6146937499009445000ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                6146937499009445000ull,
                sizeof(RustMetaTypeConverterFn),
                rustcpp::AlignOf<RustMetaTypeConverterFn>::value,
                rustcpp::Flags<RustMetaTypeConverterFn>::value
            }, {14016920772060139891ull, 0, 1, 1ull << 32}, {
                14016920772060139891ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                14016920772060139891ull,
                sizeof(RustMetaTypeConverterFn),
                rustcpp::AlignOf<RustMetaTypeConverterFn>::value,
                rustcpp::Flags<RustMetaTypeConverterFn>::value
            }, {
                2258020688151168791ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value | 1ull << 32
            }, {
                2258020688151168791ull,
                sizeof(const char *),
                rustcpp::AlignOf<const char *>::value,
                rustcpp::Flags<const char *>::value
            }, {
                2258020688151168791ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                1552733753218590639ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value | 1ull << 32
            }, {
                1552733753218590639ull,
                sizeof(const QMetaObject *),
                rustcpp::AlignOf<const QMetaObject *>::value,
                rustcpp::Flags<const QMetaObject *>::value
            }, {
                1047637659964328347ull,
                sizeof(QVariant),
                rustcpp::AlignOf<QVariant>::value,
                rustcpp::Flags<QVariant>::value | 1ull << 32
            }, {
                1047637659964328347ull,
                sizeof(const void *),
                rustcpp::AlignOf<const void *>::value,
                rustcpp::Flags<const void *>::value
            }, {
                1047637659964328347ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                4277059675507172747ull,
                sizeof(const void *),
                rustcpp::AlignOf<const void *>::value,
                rustcpp::Flags<const void *>::value | 1ull << 32
            }, {
                4277059675507172747ull,
                sizeof(QVariant *),
                rustcpp::AlignOf<QVariant *>::value,
                rustcpp::Flags<QVariant *>::value
            }, {
                4277059675507172747ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                544279965538874760ull,
                sizeof(const void*),
                rustcpp::AlignOf<const void*>::value,
                rustcpp::Flags<const void*>::value | 1ull << 32
            }, {
                544279965538874760ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {585732893809165927ull, 0, 1, 1ull << 32}, {
                585732893809165927ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                585732893809165927ull,
                sizeof(const unsigned char*),
                rustcpp::AlignOf<const unsigned char*>::value,
                rustcpp::Flags<const unsigned char*>::value
            }, {
                585732893809165927ull,
                sizeof(const unsigned char*),
                rustcpp::AlignOf<const unsigned char*>::value,
                rustcpp::Flags<const unsigned char*>::value
            }, {
                585732893809165927ull,
                sizeof(const unsigned char*),
                rustcpp::AlignOf<const unsigned char*>::value,
                rustcpp::Flags<const unsigned char*>::value
            }, {
                13574484825408072336ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value | 1ull << 32
            }, {6888936566511141194ull, 0, 1, 1ull << 32}, {
                6888936566511141194ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                2106638575543808622ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value | 1ull << 32
            }, {4468368091340325823ull, 0, 1, 1ull << 32}, {
                4468368091340325823ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                1927490132029785998ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value | 1ull << 32
            }, {1084125622249822120ull, 0, 1, 1ull << 32}, {
                1084125622249822120ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                15809309388389538816ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value | 1ull << 32
            }, {6659065250191819884ull, 0, 1, 1ull << 32}, {
                6659065250191819884ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {2663770354101734416ull, 0, 1, 1ull << 32}, {
                16833634395424806436ull,
                sizeof(QmlEngineHolder),
                rustcpp::AlignOf<QmlEngineHolder>::value,
                rustcpp::Flags<QmlEngineHolder>::value | 1ull << 32
            }, {
                16833634395424806436ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                16833634395424806436ull,
                sizeof(char **),
                rustcpp::AlignOf<char **>::value,
                rustcpp::Flags<char **>::value
            }, {15865833968626159637ull, 0, 1, 1ull << 32}, {
                15865833968626159637ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                15865833968626159637ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {14202466884129387097ull, 0, 1, 1ull << 32}, {
                14202466884129387097ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                14202466884129387097ull,
                sizeof(QUrl),
                rustcpp::AlignOf<QUrl>::value,
                rustcpp::Flags<QUrl>::value
            }, {1556700805829604922ull, 0, 1, 1ull << 32}, {
                1556700805829604922ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                1556700805829604922ull,
                sizeof(QByteArray),
                rustcpp::AlignOf<QByteArray>::value,
                rustcpp::Flags<QByteArray>::value
            }, {15905874369481267894ull, 0, 1, 1ull << 32}, {
                15905874369481267894ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                15905874369481267894ull,
                sizeof(QByteArray),
                rustcpp::AlignOf<QByteArray>::value,
                rustcpp::Flags<QByteArray>::value
            }, {
                15905874369481267894ull,
                sizeof(QUrl),
                rustcpp::AlignOf<QUrl>::value,
                rustcpp::Flags<QUrl>::value
            }, {7805004573227164ull, 0, 1, 1ull << 32}, {
                7805004573227164ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {1622469414220550557ull, 0, 1, 1ull << 32}, {
                1622469414220550557ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {6082273773561598515ull, 0, 1, 1ull << 32}, {
                6082273773561598515ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                6082273773561598515ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                6082273773561598515ull,
                sizeof(QVariant),
                rustcpp::AlignOf<QVariant>::value,
                rustcpp::Flags<QVariant>::value
            }, {1877437021996221841ull, 0, 1, 1ull << 32}, {
                1877437021996221841ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                1877437021996221841ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {11904625196335660482ull, 0, 1, 1ull << 32}, {
                11904625196335660482ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                11904625196335660482ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                11904625196335660482ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {
                14041139341725836627ull,
                sizeof(QVariant),
                rustcpp::AlignOf<QVariant>::value,
                rustcpp::Flags<QVariant>::value | 1ull << 32
            }, {
                14041139341725836627ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                14041139341725836627ull,
                sizeof(QByteArray),
                rustcpp::AlignOf<QByteArray>::value,
                rustcpp::Flags<QByteArray>::value
            }, {
                14041139341725836627ull,
                sizeof(size_t),
                rustcpp::AlignOf<size_t>::value,
                rustcpp::Flags<size_t>::value
            }, {
                14041139341725836627ull,
                sizeof(QVariant *),
                rustcpp::AlignOf<QVariant *>::value,
                rustcpp::Flags<QVariant *>::value
            }, {16792237966274974184ull, 0, 1, 1ull << 32}, {
                16792237966274974184ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                16792237966274974184ull,
                sizeof(QByteArray),
                rustcpp::AlignOf<QByteArray>::value,
                rustcpp::Flags<QByteArray>::value
            }, {
                16792237966274974184ull,
                sizeof(size_t),
                rustcpp::AlignOf<size_t>::value,
                rustcpp::Flags<size_t>::value
            }, {
                16792237966274974184ull,
                sizeof(QVariant *),
                rustcpp::AlignOf<QVariant *>::value,
                rustcpp::Flags<QVariant *>::value
            }, {7874822675106506785ull, 0, 1, 1ull << 32}, {
                7874822675106506785ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {12124250206923320362ull, 0, 1, 1ull << 32}, {
                12124250206923320362ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                16203711403228427741ull,
                sizeof(QJSValue),
                rustcpp::AlignOf<QJSValue>::value,
                rustcpp::Flags<QJSValue>::value | 1ull << 32
            }, {
                16203711403228427741ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                16203711403228427741ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {2710731489961050719ull, 0, 1, 1ull << 32}, {
                2710731489961050719ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                2710731489961050719ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                15366332130198349460ull,
                sizeof(QQmlEngine *),
                rustcpp::AlignOf<QQmlEngine *>::value,
                rustcpp::Flags<QQmlEngine *>::value | 1ull << 32
            }, {
                15366332130198349460ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {14799193331655409801ull, 0, 1, 1ull << 32}, {
                14799193331655409801ull,
                sizeof(QmlEngineHolder),
                rustcpp::AlignOf<QmlEngineHolder>::value,
                rustcpp::Flags<QmlEngineHolder>::value
            }, {8238193759359935819ull, 0, 1, 1ull << 32}, {
                8238193759359935819ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {9478361354736959953ull, 0, 1, 1ull << 32}, {
                9478361354736959953ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                9478361354736959953ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                10447202142555968839ull,
                sizeof(QQmlComponentHolder),
                rustcpp::AlignOf<QQmlComponentHolder>::value,
                rustcpp::Flags<QQmlComponentHolder>::value | 1ull << 32
            }, {
                10447202142555968839ull,
                sizeof(QmlEngineHolder *),
                rustcpp::AlignOf<QmlEngineHolder *>::value,
                rustcpp::Flags<QmlEngineHolder *>::value
            }, {
                4438881729129305987ull,
                sizeof(QQmlComponent *),
                rustcpp::AlignOf<QQmlComponent *>::value,
                rustcpp::Flags<QQmlComponent *>::value | 1ull << 32
            }, {
                4438881729129305987ull,
                sizeof(QQmlComponentHolder *),
                rustcpp::AlignOf<QQmlComponentHolder *>::value,
                rustcpp::Flags<QQmlComponentHolder *>::value
            }, {3301394291349780863ull, 0, 1, 1ull << 32}, {
                3301394291349780863ull,
                sizeof(QQmlComponentHolder *),
                rustcpp::AlignOf<QQmlComponentHolder *>::value,
                rustcpp::Flags<QQmlComponentHolder *>::value
            }, {
                3301394291349780863ull,
                sizeof(QUrl),
                rustcpp::AlignOf<QUrl>::value,
                rustcpp::Flags<QUrl>::value
            }, {
                3301394291349780863ull,
                sizeof(QQmlComponent::CompilationMode),
                rustcpp::AlignOf<QQmlComponent::CompilationMode>::value,
                rustcpp::Flags<QQmlComponent::CompilationMode>::value
            }, {10405852177443879512ull, 0, 1, 1ull << 32}, {
                10405852177443879512ull,
                sizeof(QQmlComponentHolder *),
                rustcpp::AlignOf<QQmlComponentHolder *>::value,
                rustcpp::Flags<QQmlComponentHolder *>::value
            }, {
                10405852177443879512ull,
                sizeof(QByteArray),
                rustcpp::AlignOf<QByteArray>::value,
                rustcpp::Flags<QByteArray>::value
            }, {18174100504210808900ull, 0, 1, 1ull << 32}, {
                18174100504210808900ull,
                sizeof(QQmlComponentHolder *),
                rustcpp::AlignOf<QQmlComponentHolder *>::value,
                rustcpp::Flags<QQmlComponentHolder *>::value
            }, {
                18174100504210808900ull,
                sizeof(QByteArray),
                rustcpp::AlignOf<QByteArray>::value,
                rustcpp::Flags<QByteArray>::value
            }, {
                18174100504210808900ull,
                sizeof(QUrl),
                rustcpp::AlignOf<QUrl>::value,
                rustcpp::Flags<QUrl>::value
            }, {
                7478465673898126446ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value | 1ull << 32
            }, {
                7478465673898126446ull,
                sizeof(QQmlComponentHolder *),
                rustcpp::AlignOf<QQmlComponentHolder *>::value,
                rustcpp::Flags<QQmlComponentHolder *>::value
            }, {
                16099700302440602572ull,
                sizeof(QQmlComponent::Status),
                rustcpp::AlignOf<QQmlComponent::Status>::value,
                rustcpp::Flags<QQmlComponent::Status>::value | 1ull << 32
            }, {
                16099700302440602572ull,
                sizeof(QQmlComponentHolder *),
                rustcpp::AlignOf<QQmlComponentHolder *>::value,
                rustcpp::Flags<QQmlComponentHolder *>::value
            }, {
                9503875552891261682ull,
                sizeof(SignalInner),
                rustcpp::AlignOf<SignalInner>::value,
                rustcpp::Flags<SignalInner>::value | 1ull << 32
            }, {2449226395511789058ull, 0, 1, 1ull << 32}, {
                2449226395511789058ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {16065137262676305783ull, 0, 1, 1ull << 32}, {
                16065137262676305783ull,
                sizeof(char *),
                rustcpp::AlignOf<char *>::value,
                rustcpp::Flags<char *>::value
            }, {
                16065137262676305783ull,
                sizeof(char *),
                rustcpp::AlignOf<char *>::value,
                rustcpp::Flags<char *>::value
            }, {
                16065137262676305783ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                16065137262676305783ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                16065137262676305783ull,
                sizeof(const QMetaObject *),
                rustcpp::AlignOf<const QMetaObject *>::value,
                rustcpp::Flags<const QMetaObject *>::value
            }, {
                16065137262676305783ull,
                sizeof(CreatorFunction),
                rustcpp::AlignOf<CreatorFunction>::value,
                rustcpp::Flags<CreatorFunction>::value
            }, {
                16065137262676305783ull,
                sizeof(size_t),
                rustcpp::AlignOf<size_t>::value,
                rustcpp::Flags<size_t>::value
            }, {
                16065137262676305783ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {18151842013695811124ull, 0, 1, 1ull << 32}, {
                18151842013695811124ull,
                sizeof(const char *),
                rustcpp::AlignOf<const char *>::value,
                rustcpp::Flags<const char *>::value
            }, {
                18151842013695811124ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                18151842013695811124ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {125841423374632642ull, 0, 1, 1ull << 32}, {
                125841423374632642ull,
                sizeof(const char *),
                rustcpp::AlignOf<const char *>::value,
                rustcpp::Flags<const char *>::value
            }, {
                125841423374632642ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                125841423374632642ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                125841423374632642ull,
                sizeof(const char *),
                rustcpp::AlignOf<const char *>::value,
                rustcpp::Flags<const char *>::value
            }, {
                125841423374632642ull,
                sizeof(const QMetaObject *),
                rustcpp::AlignOf<const QMetaObject *>::value,
                rustcpp::Flags<const QMetaObject *>::value
            }, {
                125841423374632642ull,
                sizeof(QmlRegisterSingletonTypeCallback),
                rustcpp::AlignOf<QmlRegisterSingletonTypeCallback>::value,
                rustcpp::Flags<QmlRegisterSingletonTypeCallback>::value
            }, {
                125841423374632642ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {7050865636438689406ull, 0, 1, 1ull << 32}, {
                7050865636438689406ull,
                sizeof(char *),
                rustcpp::AlignOf<char *>::value,
                rustcpp::Flags<char *>::value
            }, {
                7050865636438689406ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                7050865636438689406ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                7050865636438689406ull,
                sizeof(char *),
                rustcpp::AlignOf<char *>::value,
                rustcpp::Flags<char *>::value
            }, {
                7050865636438689406ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value
            }, {14616601164882999247ull, 0, 1, 1ull << 32}, {
                14616601164882999247ull,
                sizeof(char *),
                rustcpp::AlignOf<char *>::value,
                rustcpp::Flags<char *>::value
            }, {
                14616601164882999247ull,
                sizeof(char *),
                rustcpp::AlignOf<char *>::value,
                rustcpp::Flags<char *>::value
            }, {
                14616601164882999247ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                14616601164882999247ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                14616601164882999247ull,
                sizeof(const QMetaObject *),
                rustcpp::AlignOf<const QMetaObject *>::value,
                rustcpp::Flags<const QMetaObject *>::value
            }, {
                3834082153908858228ull,
                sizeof(RustQObjectDescriptor const*),
                rustcpp::AlignOf<RustQObjectDescriptor const*>::value,
                rustcpp::Flags<RustQObjectDescriptor const*>::value | 1ull << 32
            }, {
                17282030858048884185ull,
                sizeof(QRectF),
                rustcpp::AlignOf<QRectF>::value,
                rustcpp::Flags<QRectF>::value | 1ull << 32
            }, {
                17282030858048884185ull,
                sizeof(Rust_QQuickItem *),
                rustcpp::AlignOf<Rust_QQuickItem *>::value,
                rustcpp::Flags<Rust_QQuickItem *>::value
            }, {14708037502006111618ull, 0, 1, 1ull << 32}, {
                14708037502006111618ull,
                sizeof(Rust_QQuickItem *),
                rustcpp::AlignOf<Rust_QQuickItem *>::value,
                rustcpp::Flags<Rust_QQuickItem *>::value
            }, {
                3244431720413369173ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value | 1ull << 32
            }, {
                3244431720413369173ull,
                sizeof(QMouseEvent *),
                rustcpp::AlignOf<QMouseEvent *>::value,
                rustcpp::Flags<QMouseEvent *>::value
            }, {
                11082437266784215316ull,
                sizeof(QPointF),
                rustcpp::AlignOf<QPointF>::value,
                rustcpp::Flags<QPointF>::value | 1ull << 32
            }, {
                11082437266784215316ull,
                sizeof(QMouseEvent *),
                rustcpp::AlignOf<QMouseEvent *>::value,
                rustcpp::Flags<QMouseEvent *>::value
            }, {
                15588590317358741292ull,
                sizeof(bool),
                rustcpp::AlignOf<bool>::value,
                rustcpp::Flags<bool>::value | 1ull << 32
            }, {
                15588590317358741292ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                10703794582340376641ull,
                sizeof(bool),
                rustcpp::AlignOf<bool>::value,
                rustcpp::Flags<bool>::value | 1ull << 32
            }, {
                10703794582340376641ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                10366679537520429895ull,
                sizeof(bool),
                rustcpp::AlignOf<bool>::value,
                rustcpp::Flags<bool>::value | 1ull << 32
            }, {
                10366679537520429895ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                17993455167681828034ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value | 1ull << 32
            }, {
                17993455167681828034ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                13196898991751831124ull,
                sizeof(bool),
                rustcpp::AlignOf<bool>::value,
                rustcpp::Flags<bool>::value | 1ull << 32
            }, {
                13196898991751831124ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                16243332204727588363ull,
                sizeof(double),
                rustcpp::AlignOf<double>::value,
                rustcpp::Flags<double>::value | 1ull << 32
            }, {
                16243332204727588363ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                3724491200523802278ull,
                sizeof(QVariant),
                rustcpp::AlignOf<QVariant>::value,
                rustcpp::Flags<QVariant>::value | 1ull << 32
            }, {
                3724491200523802278ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                18038260789765993198ull,
                sizeof(QObject *),
                rustcpp::AlignOf<QObject *>::value,
                rustcpp::Flags<QObject *>::value | 1ull << 32
            }, {
                18038260789765993198ull,
                sizeof(const QJSValue *),
                rustcpp::AlignOf<const QJSValue *>::value,
                rustcpp::Flags<const QJSValue *>::value
            }, {
                18038260789765993198ull,
                sizeof(const QMetaObject *),
                rustcpp::AlignOf<const QMetaObject *>::value,
                rustcpp::Flags<const QMetaObject *>::value
            }, {
                2297775464078389730ull,
                sizeof(QJSValue),
                rustcpp::AlignOf<QJSValue>::value,
                rustcpp::Flags<QJSValue>::value | 1ull << 32
            }, {
                2297775464078389730ull,
                sizeof(QString),
                rustcpp::AlignOf<QString>::value,
                rustcpp::Flags<QString>::value
            }, {
                4527118604165330730ull,
                sizeof(QJSValue),
                rustcpp::AlignOf<QJSValue>::value,
                rustcpp::Flags<QJSValue>::value | 1ull << 32
            }, {
                4527118604165330730ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                7720003637592621662ull,
                sizeof(QJSValue),
                rustcpp::AlignOf<QJSValue>::value,
                rustcpp::Flags<QJSValue>::value | 1ull << 32
            }, {
                7720003637592621662ull,
                sizeof(uint),
                rustcpp::AlignOf<uint>::value,
                rustcpp::Flags<uint>::value
            }, {
                17310000118823233070ull,
                sizeof(QJSValue),
                rustcpp::AlignOf<QJSValue>::value,
                rustcpp::Flags<QJSValue>::value | 1ull << 32
            }, {
                17310000118823233070ull,
                sizeof(double),
                rustcpp::AlignOf<double>::value,
                rustcpp::Flags<double>::value
            }, {
                16047039010974909454ull,
                sizeof(QJSValue),
                rustcpp::AlignOf<QJSValue>::value,
                rustcpp::Flags<QJSValue>::value | 1ull << 32
            }, {
                16047039010974909454ull,
                sizeof(bool),
                rustcpp::AlignOf<bool>::value,
                rustcpp::Flags<bool>::value
            }, {
                8964476977276461279ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value | 1ull << 32
            }, {
                14207083840483672784ull,
                sizeof(RustQObjectDescriptor const *),
                rustcpp::AlignOf<RustQObjectDescriptor const *>::value,
                rustcpp::Flags<RustQObjectDescriptor const *>::value | 1ull << 32
            }, {
                14429191088867485001ull,
                sizeof(RustQObjectDescriptor const*),
                rustcpp::AlignOf<RustQObjectDescriptor const*>::value,
                rustcpp::Flags<RustQObjectDescriptor const*>::value | 1ull << 32
            }, {12452725359658093533ull, 0, 1, 1ull << 32}, {
                12452725359658093533ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {
                5806150731568988229ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value | 1ull << 32
            }, {
                5806150731568988229ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value
            }, {
                5806150731568988229ull,
                sizeof(std::size_t),
                rustcpp::AlignOf<std::size_t>::value,
                rustcpp::Flags<std::size_t>::value
            }, {
                6187265039332251247ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value | 1ull << 32
            }, {
                6187265039332251247ull,
                sizeof(ContainerNode*),
                rustcpp::AlignOf<ContainerNode*>::value,
                rustcpp::Flags<ContainerNode*>::value
            }, {
                6187265039332251247ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value
            }, {
                6187265039332251247ull,
                sizeof(std::size_t),
                rustcpp::AlignOf<std::size_t>::value,
                rustcpp::Flags<std::size_t>::value
            }, {2843774925391865141ull, 0, 1, 2ull << 32}, {
                2843774925391865141ull,
                sizeof(ContainerNode*),
                rustcpp::AlignOf<ContainerNode*>::value,
                rustcpp::Flags<ContainerNode*>::value
            }, {
                2843774925391865141ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value
            }, {
                1680054991449589088ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value | 2ull << 32
            }, {
                1680054991449589088ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value
            }, {
                18059221830625005031ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value | 2ull << 32
            }, {
                18059221830625005031ull,
                sizeof(ContainerNode*),
                rustcpp::AlignOf<ContainerNode*>::value,
                rustcpp::Flags<ContainerNode*>::value
            }, {
                18059221830625005031ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value
            }, {5953653922760464069ull, 0, 1, 3ull << 32}, {
                5953653922760464069ull,
                sizeof(ContainerNode*),
                rustcpp::AlignOf<ContainerNode*>::value,
                rustcpp::Flags<ContainerNode*>::value
            }, {
                5953653922760464069ull,
                sizeof(quint64),
                rustcpp::AlignOf<quint64>::value,
                rustcpp::Flags<quint64>::value
            }, {
                15110739606938606272ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value | 3ull << 32
            }, {
                15110739606938606272ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {
                15110739606938606272ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {11712886023139476544ull, 0, 1, 4ull << 32}, {
                11712886023139476544ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {
                11712886023139476544ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {
                11712886023139476544ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {5124357981475417328ull, 0, 1, 5ull << 32}, {
                5124357981475417328ull,
                sizeof(QSGRectangleNode*),
                rustcpp::AlignOf<QSGRectangleNode*>::value,
                rustcpp::Flags<QSGRectangleNode*>::value
            }, {
                5124357981475417328ull,
                sizeof(QColor),
                rustcpp::AlignOf<QColor>::value,
                rustcpp::Flags<QColor>::value
            }, {14684372344242381158ull, 0, 1, 5ull << 32}, {
                14684372344242381158ull,
                sizeof(QSGRectangleNode*),
                rustcpp::AlignOf<QSGRectangleNode*>::value,
                rustcpp::Flags<QSGRectangleNode*>::value
            }, {
                14684372344242381158ull,
                sizeof(QRectF),
                rustcpp::AlignOf<QRectF>::value,
                rustcpp::Flags<QRectF>::value
            }, {
                16336305268722675259ull,
                sizeof(void*),
                rustcpp::AlignOf<void*>::value,
                rustcpp::Flags<void*>::value | 5ull << 32
            }, {
                16336305268722675259ull,
                sizeof(QQuickItem*),
                rustcpp::AlignOf<QQuickItem*>::value,
                rustcpp::Flags<QQuickItem*>::value
            }, {17284761727203972431ull, 0, 1, 5ull << 32}, {
                17284761727203972431ull,
                sizeof(QSGTransformNode*),
                rustcpp::AlignOf<QSGTransformNode*>::value,
                rustcpp::Flags<QSGTransformNode*>::value
            }, {
                17284761727203972431ull,
                sizeof(double),
                rustcpp::AlignOf<double>::value,
                rustcpp::Flags<double>::value
            }, {
                17284761727203972431ull,
                sizeof(double),
                rustcpp::AlignOf<double>::value,
                rustcpp::Flags<double>::value
            }, {
                14735575059722201107ull,
                sizeof(void*),
                rustcpp::AlignOf<void*>::value,
                rustcpp::Flags<void*>::value | 5ull << 32
            }, {
                1010631905448490005ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value | 5ull << 32
            }, {
                1010631905448490005ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {2776859770398879234ull, 0, 1, 5ull << 32}, {
                2776859770398879234ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {
                2776859770398879234ull,
                sizeof(QSGNode*),
                rustcpp::AlignOf<QSGNode*>::value,
                rustcpp::Flags<QSGNode*>::value
            }, {
                6213605734634388383ull,
                sizeof(RustQObjectDescriptor const*),
                rustcpp::AlignOf<RustQObjectDescriptor const*>::value,
                rustcpp::Flags<RustQObjectDescriptor const*>::value | 6ull << 32
            }, {11445500824704189160ull, 0, 1, 6ull << 32}, {
                11445500824704189160ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {
                11445500824704189160ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                11445500824704189160ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                11445500824704189160ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {5600164654131006554ull, 0, 1, 6ull << 32}, {
                5600164654131006554ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {7341277587555683017ull, 0, 1, 6ull << 32}, {
                7341277587555683017ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {
                7341277587555683017ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                7341277587555683017ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                7341277587555683017ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {10846694520009022666ull, 0, 1, 6ull << 32}, {
                10846694520009022666ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {3579332448458973171ull, 0, 1, 6ull << 32}, {
                3579332448458973171ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {
                3579332448458973171ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                3579332448458973171ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                3579332448458973171ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {11506866327913699288ull, 0, 1, 6ull << 32}, {
                11506866327913699288ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {13839534306130680586ull, 0, 1, 6ull << 32}, {
                13839534306130680586ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {
                13839534306130680586ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                13839534306130680586ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                13839534306130680586ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {8730346929523589811ull, 0, 1, 6ull << 32}, {
                8730346929523589811ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {16997692072852659304ull, 0, 1, 6ull << 32}, {
                16997692072852659304ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {10774286417151265704ull, 0, 1, 6ull << 32}, {
                10774286417151265704ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {13374916220503638173ull, 0, 1, 6ull << 32}, {
                13374916220503638173ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {
                13374916220503638173ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                13374916220503638173ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value
            }, {
                1449973371292985850ull,
                sizeof(QModelIndex),
                rustcpp::AlignOf<QModelIndex>::value,
                rustcpp::Flags<QModelIndex>::value | 6ull << 32
            }, {
                1449973371292985850ull,
                sizeof(Rust_QAbstractTableModel*),
                rustcpp::AlignOf<Rust_QAbstractTableModel*>::value,
                rustcpp::Flags<Rust_QAbstractTableModel*>::value
            }, {
                1449973371292985850ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                1449973371292985850ull,
                sizeof(int),
                rustcpp::AlignOf<int>::value,
                rustcpp::Flags<int>::value
            }, {
                8579998632639373149ull,
                sizeof(QPointer<QObject>),
                rustcpp::AlignOf<QPointer<QObject>>::value,
                rustcpp::Flags<QPointer<QObject>>::value
            }, {
                17077624639096762893ull,
                sizeof(QMetaObject::Connection),
                rustcpp::AlignOf<QMetaObject::Connection>::value,
                rustcpp::Flags<QMetaObject::Connection>::value
            }, {
                10090472545850248849ull,
                sizeof(SignalInner),
                rustcpp::AlignOf<SignalInner>::value,
                rustcpp::Flags<SignalInner>::value
            }, {
                7004685805511266194ull,
                sizeof(QMessageLogContext),
                rustcpp::AlignOf<QMessageLogContext>::value,
                rustcpp::Flags<QMessageLogContext>::value
            }, {
                17031813186925980969ull,
                sizeof(QmlEngineHolder),
                rustcpp::AlignOf<QmlEngineHolder>::value,
                rustcpp::Flags<QmlEngineHolder>::value
            }, {
                1253745284750979221ull,
                sizeof(QQmlComponentHolder),
                rustcpp::AlignOf<QQmlComponentHolder>::value,
                rustcpp::Flags<QQmlComponentHolder>::value
            }, {
                2790811995414664991ull,
                sizeof(QJSValue),
                rustcpp::AlignOf<QJSValue>::value,
                rustcpp::Flags<QJSValue>::value
            } }
};

} // namespace rustcpp
