Eh ... did you have a look at the "standard" library?
> `println!` certainly doesn't count, because even if Rust
> had varargs you'd still need a macro here to do typesafe
> compile-time string parsing
Yeah, but you could do it without exposing all the horrible mess to users.
The usual "OMG!!! Look at that random `!`. Stand back, I'm using a macro here and would like to warn you that semantics will be totally different!!!"-dance is just embarrassing, especially given the fact that you can design printf-like functionality without needing varargs in the first place.
With or without macros, if your API requires warning signs it just sucks, and you should fix it instead of using "hey, but I warned people!" as an excuse.
> varargs can already be trivially emulated using vectors
The usual "OMG!!! Look at that random `!`. Stand back, I'm using a macro here and would like to warn you that semantics will be totally different!!!"-dance is just embarrassing, especially given the fact that you can design printf-like functionality without needing varargs in the first place.
With or without macros, if your API requires warning signs it just sucks, and you should fix it instead of using "hey, but I warned people!" as an excuse.
Oh right! So how do we create a vector? Oh well ...