I've always thought of Swift as a sort of "sister language" to Rust, since so many features have almost the same semantics and syntax, but with some keyword names switched around and slightly different punctuation.
These proposed changes continue in that vein :)
- As the post notes, `any Shape` is the same as Rust's `dyn Shape` - both languages originally allowed you to write simply `Shape` (i.e. a trait/protocol name) to get an existential type, but later decided that was confusing.
- `some Shape` is the same as Rust's `impl Shape`.
- `Shape<.Renderer == T>` is equivalent to Rust's `Shape<Renderer=T>`.
(This is not meant as a criticism of Swift; Rust has copied some things from Swift as well. Just interesting to note.)
These proposed changes continue in that vein :)
- As the post notes, `any Shape` is the same as Rust's `dyn Shape` - both languages originally allowed you to write simply `Shape` (i.e. a trait/protocol name) to get an existential type, but later decided that was confusing.
- `some Shape` is the same as Rust's `impl Shape`.
- `Shape<.Renderer == T>` is equivalent to Rust's `Shape<Renderer=T>`.
(This is not meant as a criticism of Swift; Rust has copied some things from Swift as well. Just interesting to note.)