[疑难] D2 操作符重载新问题
Colorful
2010-03-28
不知道各位有没有在使用新版的 DMD 2.x 编译器。
今天碰到一特有意思的 BUG ,是关于操作符重载的。 现在 D2 中操作符重载大变样,原来在 D1 中可以使用的操作符重载做法全部失效。 struct A { int value; const bool opEquals(ref const A b) { return this.value == b.value; } } void main() { static A a = {value:1}, b = {value:1}; assert(a == b); } 修改成上述代码样式,可以编译通过了。DMD 编译器关于重载的签名和 D Spec 描述的不一致。 |
|
verystrange
2010-03-28
放了D吧,W.B累了
|
|
Colorful
2010-03-29
我就是看中了 D 语言优雅的语法和本地代码编译才上了贼船的。
结果下不来了。 |
|
hqs7636
2010-03-29
可能和 struct 有关系,最近关于 struct 的争论很多,没太仔细看
|