Anyone have some pointers on how to handle https://github.com/rust-lang/rust/issues/51130#issuecomment-435614630? It would be possible to work around this on the codegen side, but probably the right way is to adjust type checking somehow, but I don't know how.
Rather than typechecking, coercion needs to be applied somehow
@nikomatsakis would know better, but also some other people who work in that area (@eddyb ?)
okay, so, the place to look for is variadics
fixing coercion won’t fix
"i"(foo as *const u8) not working, though.
wait why would that not work?
I guess LLVM does something weird sometimes
I don’t know, the original report states that
"i"(foo as *const u8) worked in their isolated case but not when used in an another project
"i" constraint is very constraining, I wouldn’t be surprised that there could be a ton of factor that could make it accidently not work and thus making the constraint outright unusable ever :slight_smile:
Ah yes, variadics look very relevant