Missing critical features: - Wrap template classes with each used instantiation - Access to classes' public variables (example: QAbstractEventDispatcher::TimerInfo) - Wrap methods with function arguments - Provide a way for connecting and disconnecting signals - Provide a way to subclass Qt classes - Create QObject subclasses with properties, signals, slots - Support Linux, Windows and MacOS-specific methods and types - Static, Dynamic and QObject cast of pointers - Access to inherited methods - Catch all C++ exceptions in any wrapper function - Convert Qt documentation to Rust documentation - Some enums need to be converted to int (like Qt::Key) - QVariant::Type ? Extra features: - Sort classes and methods to reduce randomness CLang parser: - crazy fake subclasses like QByteArrayList Primitive types --------------- - Void is its own type. - Default C types (int, short) etc: - already available in C - translate to libc::c_... in Rust - fixed size types (qint8, ..., qlonglong): - define manually using C fixed types - translate to i8, ..., i64 in Rust - pointer types (qintptr, quintptr, qptrdiff, QList::difference_type): - define manually in C: http://stackoverflow.com/a/5273354/344347 - translate to isize, usize in Rust - qreal: - define as double in C (will define as float on some archs in future) - "pub type qreal = f64" in Rust