【发布时间】:2019-12-28 00:31:45
【问题描述】:
我有一个结构体,其字段定义如下:
log_str: RefCell<String>
我多次致电borrow_mut() 以在球场上致电push_str(.)。最后,我使用以下方法评估其价值:
assert_eq!(os.log_str.borrow(), "<expected value>");
尽管如此,断言行引发了一个编译时错误消息:
错误[E0369]:二元运算
==不能应用于类型std::cell::Ref<'_, std::string::String>
我明白为什么会发生错误,因为编译器甚至会提示:
std::cell::Ref<'_, std::string::String>可能缺少std::cmp::PartialEq的实现
我的问题是:我应该如何比较 RefCell<T> 中包含的值(通常在这种情况下,将包含的字符串与预期值进行比较)。
谢谢!
【问题讨论】: