Skip to content

Commit

Permalink
docs: rust - unsafe
Browse files Browse the repository at this point in the history
  • Loading branch information
ryan4yin committed Sep 17, 2024
1 parent 755b0bd commit 1e6ac20
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions pl/rust/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,9 @@ rust 的高阶函数 + 链式语法超级好用!
- 在编译期检查借用规则太严格了,它使某些实际上内存安全的代码 Pattern 无法通过编译,而 `RefCell<T>`
使我们能够绕过这些限制。
- 相对的,如果你的代码确实有问题,`RefCell<T>` 会在运行时检测到借用规则被违反,并导致程序 panic.
- 同时这会带来一定的性能损失。
- 同时这会带来一定的性能损失吗?
- 既然如此?为什么要在运行时检查借用规则?不检查不就没性能损失了?因为不检查就可能会出现难以排查
的内存泄漏、数据竞争等问题,这是 `unsafe` 的范畴了,只有在 `unsafe` 块中才能关闭借用检查。
的内存泄漏、数据竞争等问题,~~这是 `unsafe` 的范畴了,只有在 `unsafe` 块中才能关闭借用检查~~(貌似 unsafe 也不能关掉它...)

- 智能指针的循环引用可能会导致内存泄漏。Rust 的各种规则只是极大降低了内存泄漏的可能,但并不能完全杜
绝。
Expand Down

0 comments on commit 1e6ac20

Please sign in to comment.