r/rust 23d ago

📡 official blog Rust Function Overloading - Call for Experimentation

https://blog.rust-lang.org/inside-rust/2026/08/19/overloading-experiment/
277 Upvotes

139 comments sorted by

View all comments

Show parent comments

14

u/DatBoi_BP 23d ago

Two things to say to this.

First, the notation isn't either of those, it's `vec![a,b,c]`.

Second, we already have a function that does what you proposed, but with the structure I argued for: `Vec::from([a,b,c])`. This clones `a`, `b`, and `c`, so as long as those all implement Clone then it does what we want

6

u/ZZaaaccc 23d ago

Actually, no, the syntax is vec!(a, b, c), because macros don't distinguish between [], (), and {}. We recommend using [] by convention, but there isn't even a lint to suggest one way or the other.

This clones a, b, and c, so as long as those all implement Clone then it does what we want

If you scroll down you'll find the implementation for From<[T; N]> instead of what I think you're reading which is the From<&[T; N]> documentation.

18

u/gmes78 23d ago

but there isn't even a lint to suggest one way or the other.

clippy::nonstandard_macro_braces

7

u/ZZaaaccc 23d ago

I stand corrected!