gpt4 book ai didi

rust - 比较 RefCell 中包含的值

转载 作者:行者123 更新时间:2023-11-29 07:58:28 25 4
gpt4 key购买 nike

我有一个字段定义如下的结构:

log_str: RefCell<String>

我对 borrow_mut() 进行了各种调用调用push_str(.)在场上。最后,我使用以下方法评估它的值(value):

assert_eq!(os.log_str.borrow(), "<expected value>");

尽管如此,断言行引发了编译时错误消息:

error[E0369]: binary operation == cannot be applied to type std::cell::Ref<'_, std::string::String>

我明白为什么会发生错误,因为编译器甚至提示:

an implementation of std::cmp::PartialEq might be missing for std::cell::Ref<'_, std::string::String>

我的问题是:我应该如何比较 RefCell<T> 中包含的值? (通常在这种情况下,将封闭的字符串与预期值进行比较)。

谢谢!

最佳答案

您想解除对借用值的引用:

assert_eq!(*os.log_str.borrow(), "<expected value>");

关于rust - 比较 RefCell<T> 中包含的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57613470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com