Currently rlsl uses a custom libstd library that is compatible with the libstd that ships with Rust. The problem is that some things in core can't be translated to SPIR-V. For example Iterator for Range uses mem::swap behind the scenes which uses pointer math.
It might be possible to intercept some of those "bad" implementations. The alternative is to create a custom core.
Currently rlsl uses a custom libstd library that is compatible with the libstd that ships with Rust. The problem is that some things in core can't be translated to SPIR-V. For example Iterator for
Range
uses mem::swap behind the scenes which uses pointer math.It might be possible to intercept some of those "bad" implementations. The alternative is to create a custom core.