首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

Rust 借用检查器中发现 11 年前的不健全错误

摘要

【HN用户评论摘要】 I don't understand how something like this could take so long to be discovered. Pretty crazy stuff. Worked on a variance-related lint once and the scary part is how rarely anyone writes dow...

the for String how something like this crazy variance and
2026-10-13 1 阅读 约1分钟阅读 formerly_proven
分享:
字号:
【HN用户评论摘要】 我不明白这样的事情怎么需要这么长时间才被发现。 相当疯狂的东西。 曾经研究过与方差相关的 lint,可怕的是很少有人手工写下方差,所以那里的 bug 十年来都没有经过测试。 问题的核心:struct Q(Option); impl 删除 Q { fn drop(&mut self) { // 这里的代码可以访问非'static &String // 但假设它是一个 &'static 字符串 } } fn 主() { 让 l = String::new(); 让 mut q = Q(无); q.0 = 一些(&l); } 我想知道用于安全关键用途的认证编译器是否也存在同样的问题。 我勒个去。这不是我期望通过这样的标题找到的深奥、疯狂、不切实际的星座。这个最小的示例非常简单,并且绝对是您在正常代码中很容易遇到的东西。 某处有这些的集合。 Rust 更好,但它永远不会完美,10 点新闻 原始链接:https://github.com/rust-lang/rust/issues/164250
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱