Rust 视界

@rust_daily_news Нравится 0
Это ваш канал? Подтвердите владение для дополнительных возможностей

Rust 热点、开源项目、动态
Гео и язык канала
Китай, Китайский
Категория
не указана


Гео канала
Китай
Язык канала
Китайский
Категория
не указана
Добавлен в индекс
03.06.2019 13:47
реклама
TGStat Bot
Бот для получения статистики каналов не выходя из Telegram
Telegram Analytics
Подписывайся, чтобы быть в курсе новостей TGStat.
SearcheeBot
Ваш гид в мире Telegram-каналов
1 507
подписчиков
~650
охват 1 публикации
~2.1k
дневной охват
~4
постов / день
43.1%
ERR %
0.13
индекс цитирования
Репосты и упоминания канала
0 упоминаний канала
1 упоминаний публикаций
42 репостов
雷姬家的阁楼书架
Arco 隨手一丟
情况发生变化
Arco 隨手一丟
情况发生变化
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
一个存在的世界
Arco 隨手一丟
雷姬家的阁楼书架
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
nonabyte's channel
Arco 隨手一丟
Arco 隨手一丟
Arco 隨手一丟
代码与远方频道
一个存在的世界
Soha 的日常
📻 ChungZH's Radio
代码与远方频道
Pigeon? Meow!
代码与远方频道
代码与远方频道
明狸居
明狸居
一个存在的世界
代码与远方频道
Каналы, которые цитирует @rust_daily_news
Huawei
TG代理(直连telegram)
Red Brain
Последние публикации
Удалённые
С упоминаниями
Репосты
Rust 视界 12 May, 09:11
Rust 视界 10 May, 19:27
另外一个Rust 编译错误: Regression: Miscompilation due to bug in "mutable noalias" logic

也是被用户意外发现的:

「我对该修复程序感到非常兴奋,但是对于Rust 1.53.0中的noalias优化我也感到不安。 我没有故意发现此错误。 这是100%的事故; 即纯净的运气。 」

https://github.com/rust-lang/rust/issues/84958#issuecomment-836901528
Rust 视界 10 May, 18:53
Rust 1.52.1 发布

此版本主要解决增量编译中的一个错误,该错误在1.52.0中变成了编译器错误。

建议所有Rust用户,包括当前使用1.52.0之前的稳定版本的用户,升级到1.52.1或禁用增量编译。

目前只是一个临时的修复计划,目前此错误还未被完全修复,毕竟增量编译功能是刚需。主要是修复 verify-ich 相关 issues,目前还有很多 :https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+unstable+fingerprints

目前官方正在积极修复此错误。 Rust团队还将制定计划,以确保在将来有更好的bug跟踪系统,既可以防止此类情况再次发生,也可以通过更准确地跟踪bug来进一步提高我们版本的稳定性。

https://blog.rust-lang.org/2021/05/10/Rust-1.52.1.html
Читать полностью
Rust 视界 10 May, 18:23
Rust 视界 10 May, 17:17
【精彩回放】 #RustFriday # 中文社群 飞书群线上沙龙 第七期

回放地址:https://rust-lang.feishu.cn/minutes/obcnrkyq98m3312991pp33gq

时间: 5.10 周一(上周五延迟) 20:30 ~ 22:00

讨论主题:

1. 语言特性:实现 RFC : Allow a re-export for main
2. 领域项目: makepad, cloud9 ide 作者新的项目,支持 VR开发的基于 WebAssembly 的 IDE/ 框架


参考资料:
1. https://github.com/rust-lang/rust/issues/28937
2. https://github.com/makepad/makepad

Rust 中文社群 飞书群 邀请你加入:

对话群: https://applink.feishu.cn/TeLAcbDR
话题群:https://applink.feishu.cn/TeLD868w
Читать полностью
Rust 视界 10 May, 15:24
#RustFriday # 中文社群 飞书群线上沙龙 第七期

时间: 5.10 周一(上周五延迟) 20:30 ~ 22:00

讨论主题:

1. 语言特性:实现 RFC : Allow a re-export for main
2. 领域项目: makepad, cloud9 ide 作者新的项目,支持 VR开发的基于 WebAssembly 的 IDE/ 框架


参考资料:
1. https://github.com/rust-lang/rust/issues/28937
2. https://github.com/makepad/makepad

Rust 中文社群 飞书群 邀请你加入:

对话群: https://applink.feishu.cn/TeLAcbDR
话题群:https://applink.feishu.cn/TeLD868w
Rust 视界 9 May, 04:17
embassy : 嵌入式 Rust 下的 异步执行器 和 HAL

该项目旨在 让 async/await 成为 嵌入式开发的 first class 选择

https://github.com/embassy-rs/embassy
Rust 视界 8 May, 04:08
Rust 视界 7 May, 17:45
对 Windows-rs 的 看法

来自:Tony Huang

仔细看了一下winrt的设计,还是很不错的,集微软技术大成。

Windows技术栈中很重要的一个技术是COM。它的作用就是定义了一个语言无关的abi,让不同的语言可以无压力的互相交互。

举个例子,以前我们用VB6的时候可以使用COM调用ActiveX控件,然后到了.Net,还可以在.Net中直接使用COM组件,甚至可以把自己包装成COM组件来提供服务。

然后,我们再来看Windows在应用程序接口方面,和Linux有什么本质的不同。

在Linux中,所有对内核的调用,最终都是syscall,这个实际上是在每个arch上,通过一个syscall的number做的绑定,还是比较简陋的。操作系统只能提供很有限的syscall,其它的要嘛通过第三方库,要嘛通过ioctl里面的魔幻处理来实现。

而Windows完全不同,它的操作系统API是通过动态链接库的形式提供的。典型的就是那3个dll:KERNEL32.dll, USER32.dll, 和 GDI32.dll。那么它具体怎么跟内核交互,或者如何与系统的其它服务协作为应用程序提供这些功能,就是由操作系统的发行版决定的。从用户程序的视角来说,我只是调用了一个函数。如果使用了新的API,但是跑在老的系统上,只是会动态链接错误,找不到指定的symbol就好了。甚至可以通过API动态的检测是否存在某个接口。

而WinRT的技术基础就是基于COM技术,把这个功能变得更加强大了。

首先所有的操作系统组件(甚至你自己的组件),都可以通过COM把接口暴露出来,提供一份winmd文件,描述了你提供的接口。

然后针对不同的语言,微软官方提供了一个工具,依据这个winmd文件自动生成binding。

比如C++/WinRT,就是提供了一个编译器,在编译你自己的程序之前,根据你的依赖和windows sdk中的winmd文件生成c++的header,给你调用。然后运行时再使用COM把具体的dll和接口注入进来。

而windows-rs(Rust for Windows)干的事情是一样的,但是它很巧妙的利用了cargo的 build.rs 机制,在编译时做这个binding的生成工作 (具体参考 readme: https://github.com/microsoft/windows-rs/blob/master/readme.md)。

所以对于微软来说,由于操作系统的abi是语言无关的,通过winmd(从com的idl编译而来)描述的。那么对于新的语言的支持,只需要2个事情:

1. 针对legacy的win32 api做一下手动的binding
2. 针对新的WinRT API写一个对应的binding生成器

理论上来说,只要你用的api范围够小,rust for windows是能支持rust编译器支持的最低版本的windows的。
Читать полностью
Rust 视界 7 May, 17:09
Rust基金会成员开放申请了:

https://foundation.rust-lang.org/info/become-a-member/
Rust 视界 7 May, 16:28
Rust for Windows v0.9最近已发布

意味着你可以用 Rust 调用任意 Windows API


(目测一大波 Rust 实现的恶意软件即将来袭 。。。)

https://blogs.windows.com/windowsdeveloper/2021/05/06/announcing-rust-for-windows-v0-9/

https://github.com/microsoft/windows-rs

https://docs.microsoft.com/en-us/windows/dev-environment/rust/
Rust 视界 7 May, 08:53
注意 1.52 稳定版里的 不兼容问题


Make rustdoc lints a tool lint instead of built-in

https://github.com/rust-lang/rust/pull/80527
Rust 视界 7 May, 05:17
案例:利用 Rust 优化 700 个CPU

生产中看到CPU使用率减少了75%,内存使用减少了95%

https://medium.com/tenable-techblog/optimizing-700-cpus-away-with-rust-dc7a000dbdb2

https://github.com/askldjd/statsd-filter-proxy-rs
Rust 视界 7 May, 05:04
Rust 1.52 稳定版发布

要点:

1. unsafe_op_in_unsafe_fn lint 稳定。当前 Rust 把 unsafe 函数本身当作一个 unsafe block,该lint的出现就是为来改变这种行为: 现在要求,unsafe函数中调用unsafe函数,必须再加一个 unsafe block。 该lint现在是 allow-by-default ,就是说,默认不会更改 当前行为,只有你用 #[deny(unsafe_op_in_unsafe_fn)] 或 #[warn(unsafe_op_in_unsafe_fn)] 才会允许更改当前行为。

2. 允许可变数组引用直接转换为可变/不可变原生指针。

3. 编译器后端升级到 LLVM12

4. 现在所有的整数除法和余数操作都是 const fn 了

5. 稳定了 str/slice/char 类型的多个 API ,并且部分 API 都是 const fn 都了

6. Rustdoc markdown 现在支持 task list 了

7. cargo test 支持传入多个文件

兼容性变更:

1. RUSTC_BOOTSTRAP 已经在 build.rs 中被禁止设置
2. 代码中要使用了 proc-macro-hack 可能会导致 panic,需要执行 cargo unpdate -p proc-macro-hack 解决此问题



https://blog.rust-lang.org/2021/05/06/Rust-1.52.0.html
Читать полностью
Rust 视界 6 May, 17:57
Rust 视界 6 May, 17:49
Gleam : Rust 实现的可以与 Erlang 兼容的新语言

刚发布 0.15版本

https://github.com/gleam-lang/gleam
Rust 视界 6 May, 13:37
Rust Remote 工作挺多。不过有些公司限制在本土远程,有些公司限制必须在本土时间范围内工作,有些比较自由。
Rust 视界 6 May, 13:28
新的 RFC 被合并: const-ub

为了在 CTFE 的时候进行 UB-checking


https://github.com/rust-lang/rfcs/blob/master/text/3016-const-ub.md
Rust 视界 6 May, 12:48
Rust 视界 6 May, 07:36
Call: 用于远程开发的易于使用的命令工具。

它可以帮助您轻松而优雅地进行远程开发。 它可以与makefile和justfile一起使用。

是国内社区朋友开发的。

https://github.com/bingryan/call