> That's fair, though if some other part of the codebase is ported to Rust anyways sticking to C doesn't save you, unfortunately.
This should be turned around. There is no evidence that part for the codebase really need to be ported and for which Rust makes a real difference.
> I'm curious why this has to be done in C/Rust. Performance?
ASN.1 is only used during handshakes and I/O of files (the chunk of rust added covers loading of PKCS#7 files which are typically quite small, and not typically dealt with in massive numbers). I doubt the performance hit would be so high.
Also, the package wbond/asn1crypto has shown that doing ASN.1 in pure Python can be quite fast.
> What would be different then compared to now that would reduce breakage to such an extent?
The ability to try the feature out and still have a plan B if it doesn't work out, and the possibility to have a smooth, long, relaxed upgrade plan with good warnings and more time to prepare.
But to be honest, while writing all this chain of comments, I really doubt there was a real need to add rust into the mix (other than the political angle I already mentioned).
> This should be turned around. There is no evidence that part for the codebase really need to be ported and for which Rust makes a real difference.
I was thinking that if the maintainers were planning on porting some other larger part of the codebase, then starting with something small/relatively inconsequential would be a good first step, and keeping it in C wouldn't provide much benefit once said other larger part were ported.
> Also, the package wbond/asn1crypto has shown that doing ASN.1 in pure Python can be quite fast.
Interesting! I'm curious why the maintainers didn't opt for that approach instead.
> The ability to try the feature out and still have a plan B if it doesn't work out
Would people have tried this feature out if it were made opt-in? It's clear that the initial announcements reached far fewer people than one might like, and I honestly have no idea how many people would see a build-time warning.
This should be turned around. There is no evidence that part for the codebase really need to be ported and for which Rust makes a real difference.
> I'm curious why this has to be done in C/Rust. Performance?
ASN.1 is only used during handshakes and I/O of files (the chunk of rust added covers loading of PKCS#7 files which are typically quite small, and not typically dealt with in massive numbers). I doubt the performance hit would be so high. Also, the package wbond/asn1crypto has shown that doing ASN.1 in pure Python can be quite fast.
> What would be different then compared to now that would reduce breakage to such an extent?
The ability to try the feature out and still have a plan B if it doesn't work out, and the possibility to have a smooth, long, relaxed upgrade plan with good warnings and more time to prepare. But to be honest, while writing all this chain of comments, I really doubt there was a real need to add rust into the mix (other than the political angle I already mentioned).