有没有理由元组,结构和元组结构需要在Rust中使用不一致的语法?
我还在阅读手册,所以可能会有一个明显的答案,但是语法不能统一,以便以下所有内容合法?:
struct { Int, Int }
struct Foo { Int, Int }
struct { a: Int, b: Int }
struct Foo { a: int, b: Int }
struct Foo { Int, a: Int, b: Int, Int }
如果有一些技术原因可以避免混合命名和未命名的参数,您可以将()
中的未命名参数和{}
中的命名参数保留...
struct (Int, Int);
struct Foo(Int, Int);
struct { a: Int, b: Int }
struct Foo { a: Int, b: Int }
struct Foo(Int, Int) { a: Int, b: Int }
答案 0 :(得分:2)
不,但是没有一个替代提案似乎值得破坏所有现有代码。
https://internals.rust-lang.org/t/unify-structs-tuples-and-funciton-calls/1667