我有一个字段定义如下的结构:
log_str: RefCell<String>
我在球场上进行了各种borrow_mut()
呼叫push_str(.)
。最后,我正在使用以下方法评估其价值:
assert_eq!(os.log_str.borrow(), "<expected value>");
尽管如此,断言行会引发编译时错误,并显示以下消息:
错误[E0369]:二进制运算
==
不能应用于类型std::cell::Ref<'_, std::string::String>
我理解为什么会发生错误,因为编译器甚至提示:
的实现
std::cmp::PartialEq
可能会丢失std::cell::Ref<'_, std::string::String>
我的问题是:我应该如何比较 a 中包含的值RefCell<T>
(通常在这种情况下,将包含的字符串与预期值进行比较)。
谢谢 !