it was so easy to make the conversion from [u8] to ffi::OsStr into a const operation on posix. i'm going mad with power
it was so easy to make the conversion from [u8] to ffi::OsStr into a const operation on posix. i'm going mad with power
and then i just deleted the fucking procfs usage in fmt::Debug for fs::File because that's a fucked up thing to do
i just started making API changes too. is it still rust now? a fucked up evil rust? a representation of my twisted reality?
a C ABI coroutine interface is fucking exactly what goddamn cpython provides that allows pants to provide the most beautiful build task API the world has ever seen https://github.com/rust-lang/rust/issues/43122#issuecomment-3614498718
a prior rfc already described the MIR transform and a mockup of the type-erased interface https://github.com/semtexzv/rfcs/blob/master/text/0000-unified_coroutines.md#addendum-samples
you literally just fucking pass in a void pointer and it returns a tuple of the resulting state as an integer discriminant and then a void pointer result! and you can use &mut args so the void pointers don't require any allocation
the one thing i don't know is how tf you go from the state integer discriminant to a type description. like sure you need a table mapping state to the compiler-generated closure--but how do you know what type of argument to pass? or receive? rust absolutely does not have type-indexed maps
oh wait nvm lmao there's only one type each for yield/return/arg if we use the associated type w lifetime bounds i proposed
and that means you just have the one unsafe call where you confirm to the compiler that yes this is indeed the right object for this type. and then another unsafe to convert the output. and that's just like a normal coroutine FFI now !
but unlike cpython there's no value wrapping or the imposition of another language runtime!!!!
i don't think anyone else in the world has ever done a #[no_std] crate because i had to rewrite every data structure library for alloc::Allocator support
i was like ok i'll apply to oxide instead of crashing out so ok their first recommendation is to look at their little opinion board. of course the first one is LLM nonsense https://rfd.shared.oxide.computer/rfd/0576