gpt4 book ai didi

rust - 当 self 可变时返回可变引用,否则引用

转载 作者:行者123 更新时间:2023-11-29 08:22:49 25 4
gpt4 key购买 nike

<分区>

我有以下 Rust 代码片段:

pub fn scope(&mut self) -> &mut HashMap<String, Type> {
let idx = self.vars.len() - 1;
&mut self.vars[idx]
}

我意识到在某些情况下我想将此函数与函数的非可变版本一起使用,例如:

pub fn scope(&self) -> &HashMap<String, Type> {
let idx = self.vars.len() - 1;
&self.vars[idx]
}

两个函数之间只删除了 3 个 mut。我能否以某种方式将它们转换为一个函数,根据 self 的可变性派生返回的引用的可变性?是否有某种我可以利用或类似的特征?

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