From d6f971e652e53f28fb5f2f91a321c2a93d3b07a4 Mon Sep 17 00:00:00 2001 From: Sunface Date: Sat, 29 Jan 2022 20:37:39 +0800 Subject: [PATCH] Update book/contents/advance/smart-pointer/cell-refcell.md --- book/contents/advance/smart-pointer/cell-refcell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/contents/advance/smart-pointer/cell-refcell.md b/book/contents/advance/smart-pointer/cell-refcell.md index 9899b25d..6be832db 100644 --- a/book/contents/advance/smart-pointer/cell-refcell.md +++ b/book/contents/advance/smart-pointer/cell-refcell.md @@ -155,7 +155,7 @@ impl Messenger for MsgQueue { } ``` -如上所示,外部库中定义了一个消息发送器特征 `Messenger`,它就只有一个用于发送消息的功能:`fn send(&self, msg: String)`,因为发送消息不需要修改自身,因此原作者在定义时,使用了 `&self` 的不可变借用,这个无可厚非。 +如上所示,外部库中定义了一个消息发送器特征 `Messenger`,它只有一个发送消息的功能:`fn send(&self, msg: String)`,因为发送消息不需要修改自身,因此原作者在定义时,使用了 `&self` 的不可变借用,这个无可厚非。 我们要在自己的代码中使用该特征实现一个异步消息队列,出于性能的考虑,消息先写到本地缓存(内存)中,然后批量发送出去,因此在 `send` 方法中,需要将消息先行插入到本地缓存 `msg_cache` 中。但是问题来了,该 `send` 方法的签名是 `&self`,因此上述代码会报错: ```console