星期二, 五月 27, 2014

Rust 0.11 pre 修改了 str的类型

昨天下载的Rust Pre night build 发现let str1:~str ="ddd".to_owned();
不再工作,奇怪之下,想到是否是修改了基本类型了呢?

打开http://doc.rust-lang.org/rust.html#textual-types textual type的定义
发现:
Since str is of unknown size, it is not a first class type, but can only be instantiated through a pointer type, such as &str or String.

多了一个trait String 而~str的表达gone.

我挺喜欢~str表达的,不过,String离开是各种语言最复杂的类型之一,仅仅从一个
指针类型的修饰角度来描述语义显然在当前unicode环境下显然过于简单了。