rust comfy github rust com
微软 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 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 的类型级编程
Typestate是在Spark语言的类型系统中对状态机进行编码的概念。虽然不是特定于Rust,但在Rust编程中也有很多地方探讨了typestate。
Typestate可以归结为四个想法:每个状态都表示为唯一类型。状态转换只能对应相应状态类型的方法。进行状态转换将返回新状态类型的状态机。状态转换导致状态无效。
如下,这是一个发送然后接收通道状态机:ChatYoutube
Youtube视频综合器,一键分析以及对话 97 查看详情 代码语言:javascript代码运行次数:0运行复制// 每个状态都是一个唯一的类型结构 Receiving;struct Sending;// 状态机由状态结构 Channellt;Stategt 参数化; { chan: ..., _state: PhantomDatalt;Stategt;}//状态的方法仅与状态唯一关联impl Channellt;Receivinggt; { // recv 消耗所有权,确保旧状态失效 fn recv(mut self) -gt; (Channelt;Sendinggt;, String) { let msg = self.chan.recv(); // 执行转换后状态类型发生变化 (unsafe { transmute(self) }, msg) }}impl Channellt;Sendinggt; { fn send(mut self,留言: String) -gt; Channellt;Receivinggt; { self.chan.send(msg); unsafe { transmute(self) } }}#[test]fn channel_test() { let c: Channellt;Sendinggt; = Channel::new(); let c: Channellt;Receivinggt; = c.send(quot;hiquot;); let (c, msg) = c.recv(); // 如此在}登录后复制
这种模式简单对于有限状态机有效,其中确定下一个状态的逻辑很简单。本篇博文中,我将探讨确定下一个状态不是那么简单的情况。在此过程中,我们将讨论类型级编程,或者如何使用 Rust 的类型系统对类型的计算进行编码。
本篇博文中的部分目标是在实践中类型级编程的价值思考。这些相同的机制已经用于烧奥的目的,例如表明Rust的类型级编程已经实现图灵,但我类型级编程确实可以帮助我们设计更好的系统!
更多请查看原文:http://willcrichton.net/notes/type-level-programming/
来自每日小组@Jancd
以上就是【Rust日报】 2020-04-30 微软 Rust/WinRT 预览版发布的详细内容,更多请关注乐哥常识网其他文章相关! 相关标签: javascript java git go windows github 编码 编程语言 mac c JavaScript rust 公共频道 github windows postgresql 数据库 http https microsoft 大家都在看: JavaScript技术篇-js代码获取当前操作系统信息、浏览器版本信息实例演示,windows NT版本对照表ie浏览器启用javascript的方法 Magniber勒索软件通过JavaScript文件感染Windows用户Win11系统网页显示Javascript错误的解决方法 Java之入门程序及注释