感觉 impl 语法有点别扭

最近又尝试了一下 moonbit,各个语言特性用起来真是很舒服,不过感觉某些地方用起来却有点别扭,这点应该有点个人主观了

trait T {
  m1(Self) -> Int
  m2(Self) -> Int
}

struct S {}

impl T for S with m1(self) {  // 这个地方打字有点多
  ...
}

impl T for S with m2(self) {
  ...
}

impl ... with 语句首行感觉很多字,有时一眼看不清所有轮廓,同一个 trait 不同方法实现都需要再写一次 impl ... with,有点重复,与其他 trait 方法定义同一文件可以交错分布,感觉 rustimpl 定义方式更简洁一些,代码更聚合一些。

trait 的方法如果有默认实现需要在用 =_ 来标识,感觉有点突兀,没有 rust 那样语法上面更统一。

1 个赞