Closed Chasing1020 closed 2 months ago
Attention: Patch coverage is 78.12500%
with 14 lines
in your changes missing coverage. Please review.
Project coverage is 61.28%. Comparing base (
d89410f
) to head (85ae482
). Report is 1 commits behind head on master.
Relevant Issue (if applicable)
If there are Issues related to this PullRequest, please list it.
Details
This PR is a preliminary proposal, and I welcome friendly discussions on this issue.
Due to
Rc
is neitherSend
orSync
, it cannot be sent between threads safely. Rust cannot send anRc
to another thread, then you have to construct the value on the thread that will use it, or send the value to that thread before wrapping it in anRc
. So rustc's mechanism will not exploit theMutex
's protection.IMHO, for the most part, we should use
Rc<RefCell<T>>
for single thread orArc<Mutex<T>>
for exclusive access (until compiler complain about our code need Send or Sync).Thank you for your time!
Types of changes
What types of changes does your PullRequest introduce? Put an
x
in all the boxes that apply:Checklist
Go over all the following points, and put an
x
in all the boxes that apply.