Quinton Miller

Results 151 issues of Quinton Miller

Adds support for C array types, i.e. `int [4][3][2]`. It is not to be confused with `std::array`. * [x] Allow `StaticArray` members in `lib struct`s generated by `copy_structure: true`. Multi-dimensional...

Currently, all instantiated containers must be referred to using their mangled names. This PR provides two ways to name those wrapper types: * `Container(T)`: A module which contains no code....

Currently, Bindgen doesn't support nested anonymous types at all: ```cpp struct T { struct { int x, y; } point; struct { float u, v; }; }; ``` ```yaml classes:...

In Crystal every class must be defined after all of its base classes, but #83 now permits certain class hierarchies that cannot be realized by the current Bindgen generators, because...

Previously we discussed the possibility of recovering Crystal wrapper instances/types from their `@unwrap` pointers, but it turns out that only solves part of the marshalling problem; if there wasn't a...

Today I started receiving this error in Bindgen after performing a system update which bumps my libgc's version to 8.0.4: ``` /usr/bin/ld: ... /spec/integration/tmp/../tmp/instance_properties.o: in function `operator new(unsigned long, GCPlacement,...

Consider these snippets: ```cpp struct Inner { Inner(int x) : x(x) { } int x; // other members }; struct Outer { static Outer *new_no_gc() { return new Outer; }...

* Everything after the heredoc start delimiter is not highlighted. Those characters are never part of the heredoc, so they should receive regular highlighting. * If there are multiple heredocs...

bug

Once a Crystal wrapper type reaches C++, it loses its Crystal type information because only `@unwrap` remains, which is the pointer to the original C++ instance; _something_ must keep track...

Crystal 1.0 [strengthened](https://github.com/crystal-lang/crystal/pull/9585) checks on abstract def implementations, so the classes `Qt::GraphicsSimpleTextItem`, `Qt::GraphicsPixmapItem`, and `Qt::GraphicsTextItem` will fail there. The reason is that the corresponding C++ method declarations have different default...