Articles avec le mot-clé «rust»

两个 rust bugs

Publié le par v dans «misc». Mots-clés: rust

好久没有记过流水帐了,记一点毫无意义的流水帐。

问题

大概三个星期之前我发现rustc两个小bug,其中有一个是非常有误导性的错误提示。我因此花了不少时间才找到我写的代码为什么不能编译的原因。 看了几天rust的代码后我提交了一个pull request。和我料想的一样,有一些回归测试失败了。此处rust的实现本来就太脆了,很容易出现

irrelevant-code.jpg

最近已经有几个pull requests被合并了。今天我想看下能不能改进一下这个pr,如果能过了测试,那我可能就能多一个commit了。 不得不说我搞不定这个问题(确切地说,我不能修好这个问题并且不引入新的问题)。我还要宣布这他妈的是我见过的最垃圾的代码,我王境泽就是饿死也不会再改这种垃圾代码了。

我发现的第一个问题是

fn main() {
    let xs: Vec<u64> = vec![1, 2, 3];
    // assert_eq!(6u64, xs.iter().sum()); // This works
    assert_eq!(xs.iter().sum(), 6u64);
}

这个问题看起来并不好修,因为没有明确的相关信息,我只能知道 rust 的类型推断出问题了 …


Lire la suite...