在Rust中为HashSet的OccupiedEntry创建迭代器的疑问
在Rust中为HashSet的OccupiedEntry创建迭代器的疑问
我最近在琢磨Rust里HashSet的Entry相关逻辑,突然反应过来一个关键问题——因为Entry本身持有对父HashSet的可变借用,所以同一个HashSet里根本不可能同时存在多个Entry实例。这么看来,Entry恐怕解决不了我当下的问题。
举个很实际的例子:如果我同时持有同一个HashSet里同一个值的两个OccupiedEntry,要是用第一个Entry把对应的值删掉,那第二个Entry直接就失效了,这种情况完全违背了Rust的内存安全原则,肯定是不被允许的。
内容来源于stack exchange
相关产品推荐
相关产品推荐

