4 ms·
Unfortunate, because metaprogramming is very important to code design. I won't want to abandon code just because v2.0 will get deprecated and shiny v3.0 will be
by FrozenVoid 9y ago
Unfortunate, because metaprogramming is very important to code design.
I won't want to abandon code just because v2.0 will get deprecated and shiny v3.0 will become the new standard next year. If Rust team cared about backward compatibility they could preserve old code by adding something like -std=rust1.0 which would not break code. Forcing people to rewrite any code(esp. complex macros) will not gain Rust any goodwill longterm.
https://github.com/rust-lang/rust/issues/39412 https://github.com/rust-lang/rust/issues/39412
> Eventually, I hope we can remove macro_rules!. That will take a long time, and would require a 2.0 version of Rust to strictly adhere to our stability guarantees.
- scott_s 9y agoI don't think you're being charitable to the Rust team. They are quite vocal about how important they think API stability is. But they're also vocal about how important it is to get it right. For those reasons, they're upfront about what APIs are guaranteed to not change, and what APIs are still experimental. As an outsider, I think they do an excellent job of being transparent about the process.
- im_down_w_otp 9y agoHaving used Rust off and on for the better part of 4 years through a lot of tumult and change, I agree with you. In most cases the kinds of breaking changes and immaturities that the Rust core team communicates clearly to the ecosystem would be represented as nothing but silence and a giant dump of breaking changes suddenly in a lot of other ecosystems. Sometimes the Rust team seems to pay a price for transparency, in that it gives people visibility, and thus something to make an opinion about and/or complain about. In an information vacuum there's nothing to opine about except the vacuum itself. As annoyed as I often was, and occasionally still am, about different shapes of API stability in the language/libraries; I'm extremely happy the Rust team has maintained a commitment to developing everything out in the open.
- steveklabnik 9y agoTo be clear, the new macros will be different than the old ones, and the two systems will coexist. People will be encouraged not to use the older macro style, but it's not going to be removed, so your code will not break. There's no serious plans for a Rust 2.0, even though people bring it up from time to time.
- littlestymaar 9y ago> I won't want to abandon code just because v2.0 will get deprecated and shiny v3.0 will become the new standard next year. […] Forcing people to rewrite any code(esp. complex macros) will not gain Rust any goodwill longterm. That's why nobody is planning to do so anytime soon. The quote you posted explicitly says that.