
【Rust每日新闻】 2018-11-03
「社区」Rust编译器现在已支持14个debian架构
关键字:[debian]
本周新增的CPU架构为:
- mips
- mips64el
- mipsel
- powerpcspe
「oj平台」Kattis现在支持Rust了
#oj #kattis #codewars #leetcode #code_challenge
顺便统计一下国内外支持Rust的OJ平台。
- Codewars (支持)
- CodinGame (支持)
- CodeSignal (支持)
- codechef(支持)
- exercism.io (支持)
- atcoder.jp(支持)
— - LeetCode(正在开发Rust支持)
- hackerrank (不支持)
- coderbyte (目前不支持Rust)
- geeksforgeeks (不支持)
欢迎补充
「Rust 2018」 Anchored and Uniform Paths
#rust2018 #uniform #anchor #use #path
该文是官方团队成员withoutblogs所写。
锚定(Anchored)和统一(Uniform)路径,是当前Rust 2018中还存在的两种模块路径引入变体支持。但是官方计划在12月正式发布Rust 2018的时候只保留一种变体。
在Rust 2018版本中:
- 可以直接使用crate:: 命名空间来访问当前crate中的模块,而不是在顶层根目录下use。
- 使用第三方包的时候不需要使用 extern crate 语句
- 你可以在代码的任意地方像使用crate::命名空间这样去访问第三方包,而不再需要“::”前缀。比如,不再需要
impl ::std::fmt::Debug,而只需要写impl std::fmt::Debug
锚定(Anchored)和统一(Uniform)路径区别:
- 锚定路径: 如果从子模块中导入,则需要写
self::submodule::。 - 统一路径:从子模块导入,可以直接
use submodule::。 - 统一路径中,子模块如果和第三方依赖有相同的名称,则需要使用
use ::foo来消除歧义。 - 统一路径的优势是可以避免混淆,更加符合直觉。
- 锚定路径的优势: 可以消除模块来自于哪里的歧义。它们有专门的命名空间:crate、super和self。
经过官方团队的内部会议之后,该文作者认为以后应该走统一路径的方向。
- 统一路径优势很大,将为新用户消除
self::这样的障碍。 - 虽然名称冲突可能发生,但情况比较稀有。使用
use ::这种方式,比使用use self要好的多。
官方会在未来3周内对此问题做出决定。即,withoutboats建议,在1.31版本中,只保留统一路径。
「小工具」smart-default 0.3发布
「工具」 用Rust实现的分析文件系统的工具
「项目」ZoKrates: 以太坊的zkSNARKS工具箱
当前为POC项目。
zkSNARKS是一种零知识证明算法,以太坊据说要应用这种技术来提升以太坊的性能。
Buterin 估计,ZK-SNARK 的整合和采用能够使以太坊每秒处理高达500笔交易,而目前的上限约为15笔。
每日新闻订阅地址:
欢迎通过GitHub issues投稿。
Leave 【Rust每日新闻】 2018-11-03 to:
Read more #rust posts
Best Posts From ChaosBot
We have not curated any of blackanger's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.