[rust-dev] 回复: initialization syntax

范长春 changchun.fan at qq.com
Sat Jul 12 10:13:44 PDT 2014

Thank you for your explanation. But I didn't find the RFC you mentioned.

I have a question that what if we need both struct initialization and struct type declaration in one expression in future?

For example, C#'s `anonymous struct` feature is useful in Linq expression. Do we make sure that `anonymous struct` will never be added to Rust language?

------------------ 原始邮件 ------------------
发件人: "Nick Cameron"<lists at ncameron.org>
发送时间: 2014年7月12日(星期六) 中午12:34
收件人: "范长春"<changchun.fan at qq.com>;
抄送: "rust-dev"<rust-dev at mozilla.org>;
主题: Re: [rust-dev] initialization syntax

The short answer is so that struct initialisation, struct types, and struct de-structuring all have the same syntax.

For more detail, see the discussion in this (rejected and closed) RFC for changing from using `:` to `=`.

Cheers, Nick

On Sat, Jul 12, 2014 at 4:21 PM, 范长春 <changchun.fan at qq.com> wrote:
 Hi Rust designers,

I'm curious why rust uses colon ":" instead of assignment "=" when initialize an object. What is the rationale behind this?

From what I see, `Point { x = 2, y = 3 }` looks much better than `Point { x : 2, y : 3}`.

Since most of the syntax rules are consistent in rust, why we use `:` to represent different two meanings?

I'm new to Rust now. Just can't get the concept behind the design.

Thank you in advance

 Rust-dev mailing list
 Rust-dev at mozilla.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140713/cfbd248e/attachment.html>

More information about the Rust-dev mailing list