【Rust日报】 2020-04-30 微软 Rust/WinRT 预览版发布

絕刀狂花
发布: 2025-09-25 08:50:14
原创
556人浏览过

微软 Rust/WinRT 预览版发布

微软的 rust/winrt 项目已经在 github 开源:https://github.com/microsoft/winrt-rs。

Rust/WinRT 遵循 C++/WinRT 建立的传统,即使用标准语言和编译器为 Windows 运行时构建语言投影,从而为 Rust 开发人员调用 Windows API 提供了舒服的惯用方式。更多详情请看原文:https://blogs.windows.com/windowsdeveloper/2020/04/30/rust-winrt-public-preview/

【Rust日报】 2020-04-30 微软 Rust/WinRT 预览版发布
评测 Rust vs Go REST API 性能

这是一个短篇幅系列博文,分为两部分,在第一部分中,你将学习如何:在 Rust 中创建快速的 REST API 和将其连接到 PostgreSQL 数据库。

而在第二部分中,我们将比较我们的应用程序和 Go 应用程序的性能。感兴趣的朋友请看原文教程:https://docs.qovery.com/guides/tutorial/create-a-blazingly-fast-api-in-rust-part-1/

Rust 的 Type-level 编程

Typestate 是在编程语言的类型系统中对状态机进行编码的概念。尽管不是特定于 Rust,但在 Rust 编程的中也有很多地方探讨了 typestate。

Typestate可以归结为四个想法:

微软爱写作
微软爱写作

微软出品的免费英文写作/辅助/批改/评分工具

微软爱写作 17
查看详情 微软爱写作
每个状态都表示为唯一类型。状态转换仅可用作相应状态类型的方法。进行状态转换将返回新状态类型的状态机。状态转换会使旧状态无效。

如下,这是一个 send-then-receive channel 状态机:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">// Each state is a unique typestruct Receiving;struct Sending;// The state machine is parameterized by the statestruct Channel<State> {  chan: ...,  _state: PhantomData<State>}// Methods for the state are uniquely associated with only the stateimpl Channel<Receiving> {  // recv consumes ownership, ensuring old state is invalidated  fn recv(mut self) -> (Channel<Sending>, String) {    let msg = self.chan.recv();    // The state type changes after executing a transition    (unsafe { transmute(self) }, msg)  }}impl Channel<Sending> {  fn send(mut self, msg: String) -> Channel<Receiving> {    self.chan.send(msg);    unsafe { transmute(self) }  }}#[test]fn channel_test() {  let c: Channel<Sending> = Channel::new();  let c: Channel<Receiving> = c.send("hi");  let (c, msg) = c.recv();  // and so on}</code>
登录后复制

这种模式对于简单的有限状态机有效,其中确定下一个状态的逻辑很简单。本篇博文中,我将探讨确定下一个状态不是那么简单的情况。在此过程中,我们将讨论类型级编程,或者如何使用 Rust 的类型系统对类型的计算进行编码。

本篇博文中的部分目标是在实践中显示类型级编程的价值。这些相同的机制已经用于更深奥的目的,例如表明 Rust 的类型系统已经实现 Turing,但我认为类型级编程确实可以帮助我们设计更好的系统!

更多请查看原文:http://willcrichton.net/notes/type-level-programming/


From 日报小组 @Jancd

以上就是【Rust日报】 2020-04-30 微软 Rust/WinRT 预览版发布的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号