I think it's prudent to reinforce that macros in Rust are currently very wobbly. It would be an epic folly to stabilize them anytime soon, which means that any forthcoming stable Rust 1.0 release won't feature user-defined macros (stdlib macros like `println!` and `regex!` et al will still be available in 1.0, because only their interface needs to be stabilized, not their definition mechanisms). You'll have to stick to the nightly releases if you want to define your syntax extensions and such, at least until we straighten out this towering pile of hacks.
That said, we're looking at interim ways of providing some sort of relief for people who want to metaprogram in Rust 1.0. There aren't any concrete plans yet, but we love the idea of user-defined macros and we're not going to leave people out in the cold if we can help it.
(And perhaps you're wondering why we don't delay Rust 1.0 until macros are ready? Because the rest of the language works (or very soon will work) just swimmingly, and it doesn't make sense to deny stability from people who can live without macros (whose definition mechanisms can be introduced without breaking backwards compatibility). Rust 1.0 will be only the beginning of a gradual transition towards ecosystem stability, not a sudden leap.)
I would assume that there will be a huge temptation to rewrite the standard library once macros are a normal language feature. For the language macros might be purely additive, but for the API designer it is a big difference.
Given that Rust developers have had macro access for a long time now, I don't think that's true. Or at least, I don't think that the standard library would be any different if macros were stable. Something like HKT would, though, and is already being considered with regards to the standard library's design.
That said, we're looking at interim ways of providing some sort of relief for people who want to metaprogram in Rust 1.0. There aren't any concrete plans yet, but we love the idea of user-defined macros and we're not going to leave people out in the cold if we can help it.
(And perhaps you're wondering why we don't delay Rust 1.0 until macros are ready? Because the rest of the language works (or very soon will work) just swimmingly, and it doesn't make sense to deny stability from people who can live without macros (whose definition mechanisms can be introduced without breaking backwards compatibility). Rust 1.0 will be only the beginning of a gradual transition towards ecosystem stability, not a sudden leap.)