vulkano/TROUBLES.md

18 lines
1.0 KiB
Markdown
Raw Normal View History

2016-02-21 08:09:34 +00:00
# Troubles encountered with Rust during the making of this library
- [No way to create dynamic-sized arrays on the stack](https://github.com/rust-lang/rfcs/issues/618). A lot of Vulkan functions require
passing an array of small elements (small structs or integers). Building such an array with a `Vec` can be expensive, especially
when most of the time the array only contains a single element.
- No way to create a `*mut T` pointer from a `*mut c_void()` and a size when `T` is unsized. This had to be implemented in a custom
trait.
- [Can't cast an `ImageResource` into a `Resource` even though the former depends on the latter](https://github.com/rust-lang/rust/issues/5665).
2016-02-21 12:24:12 +00:00
- This library was designed with specialization in mind. There are several `is_compatible` trait methods that perform deep comparisons between
layouts. With specialization available, these methods could be specialized as `true` for layouts that are known to always be compatible.
2016-02-21 08:09:34 +00:00
- https://github.com/rust-lang/rust/issues/29328
2016-02-22 09:22:11 +00:00
- HKTs would make for a nicer API.