我正在Rust编写一个词法分析器,并且我对Rust如何与Java/C++相比做了一些新的工作。是否可以用char和&mut char来比较char?
我有去类似的功能:
fn lookup(next_char: &mut char, f: &File) {
//if or match
if next_char == '(' {
//do something
}
}
这给
error: the trait `core::cmp::PartialEq<char>` is not implemented for the type `&mut char` [E0277]
if next_char == '(' {
^~~~~~~~~~~~~~~~
如果他们被切换,那么它给出了一个类型不匹配错误。我明白为什么会出现这两个错误。我想知道是否有某种方法来比较这两个值。也许我没有用Rust的方式思考什么,但是我还没有看到在文档或在线其他地方这样做的好方法。
或不太习惯用法,把文字的参考:?!?'如果next_char ==& '('' – Shepmaster
@Shepmaster这一工程 – delnan
哦有一个留空的IMPL为&T ==&T – delnan