The widely-used Curl project has removed support for its Rust-written Hyper HTTP back-end that they were experimentally shipping for several years. The removal of this Rust back-end comes from having little end-user and developer interest in this portion of the code.
Curl had introduced support for Hyper as an alternative HTTP backend in Curl given the memory safety guarantees of the programming language. While the initial work was sponsored by ISRG and seemed promising at first, the Hyper support has remained experimental for several years and with little demand the code is now being removed.
Curl lead developer Daniel Stenberg wrote a blog post today outlining the reasoning for dropping the Hyper back-end. Daniel commented:
“There simply were no users asking for it and there were almost no developers interested or knowledgeable enough to work on it. libcurl is written in C, hyper is written in rust and there is a C binding glue layer in between. It takes someone who is interested and good at both languages to dig in, understand the architectures, the challenges and the protocols to drive this all the way through.
But with no user demand, why do it?
It seems quite clear that rust users use hyper but few of them want to work on making it work for a C project like curl, and among existing curl users there is virtually no interest in hyper. The overlap in the Venn diagram of the two universes is not big enough.
With no expectation of seeing this work completed in the short to medium length term, the cost of keeping the hyper code is simply deemed too high. We gain code agility and reduce complexity by trimming this off.”
More details can be found via this blog post.
With this big commit today to Curl Git, the Hyper code is removed and will be part of the Curl 8.12 release due out in February.