相关疑难解决方法(0)

无法将“&Thing”与“Thing”进行比较

我知道该错误意味着什么,但我无法修复它。我正在用来mockers测试我的工作,在尝试验证提供给模拟特征函数的结构参数时,我陷入了困境。简化的代码:

#[cfg(test)]
extern crate mockers;
#[cfg(test)]
extern crate mockers_derive;

#[cfg(test)]
use mockers_derive::mocked;

#[derive(Ord, PartialOrd, Eq, PartialEq, Debug)]
pub struct Thing {
    pub key: String,
    pub class: String,
}

#[cfg_attr(test, mocked)]
pub trait DaoTrait {
    fn get(&self, thing: &Thing) -> String;
}

struct DataService {
    dao: Box<DaoTrait>,
}

impl DataService {
    pub fn get(&self, thing: &Thing) -> String {
        self.dao.get(thing)
    }
}

#[cfg(test)]
mod test {
    use super::*;
    use mockers::matchers::eq;
    use mockers::Scenario;

    #[test]
    fn my_test() {
        use mockers::matchers::check;
        let …
Run Code Online (Sandbox Code Playgroud)

mocking rust

5
推荐指数
1
解决办法
3836
查看次数

为什么在比较变量时需要取消引用变量而不是在算术时取消引用?

我有以下代码:

fn example(known_primes: &[i32], number: i32, prime: i32, limit: i32) {
    let mut is_prime = true;

    for prime in known_primes {
        if number % prime == 0 {
            is_prime = false;
            break;
        }
        if *prime > limit {
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么我需要prime在第二个条件(*prime > limit)中取消引用,当我不需要在第一个条件()中这样做时number % prime == 0

这两个%<是两个数字并把返回一些运营商.唯一的区别似乎在于它们返回的内容(数字与布尔值).虽然为什么不能将借用的整数与文字整数进行比较? 确实解释了使代码工作所需的内容(所有重载的实现,理想情况下在标准库中),它没有说明它为什么起作用a % b.这些运营商之间是否存在根本区别?或者它还没有实现?

operators rust

3
推荐指数
1
解决办法
123
查看次数

标签 统计

rust ×2

mocking ×1

operators ×1