3 ms·
First, we're talking about "Transitioning an existing C codebase to checked C". If you're just adding new checked C code, then you're not doing that. Second, y
by Diggsey 5y ago
First, we're talking about "Transitioning an existing C codebase to checked C". If you're just adding new checked C code, then you're not doing that.
Second, you can't just add checked C to a codebase, because you have to actually interop with the unchecked C code, which uses different pointer types.
My argument is that it may be easier to do an automatic migration to unsafe Rust, and then incrementally convert to safe Rust, than it would be to leave the codebase as C and try to incrementally convert it to checked C, because the "incremental conversion to checked C" is extremely difficult.
- naasking 5y agoIf you read the abstract of the linked paper, you'd see they assert that the annotated pointers can be safely erased, thus making them ordinary pointers again.