如何为Rust语言做贡献
#rust
本文为之前我撰写的付费阅读文章之一,今天公开,祝读者们圣诞快乐!
本文基于macOSX平台,通过对Rust 1.32 Nightly版本中rustdoc的一个ICE问题进行复盘,分析并记录整个Bug修复的过程。主要目的是,通过这个过程,来学习如何给Rust做贡献。
(阅读时间:17m)
- 缘起
- Rust本地调试环境准备
- ICE问题分析
- 调试代码
- 提交PR说明
Rust 动态
#rust
已被合并的PR:
几个变化:
-
pinned方法变成了pin方法
-
Pinned变成了PhantomPinned
-
get_mut_unchecked变成了get_unchecked_mut
tower-web案例:文件服务器
#tower_web
无锁有界非阻塞Pub/Sub队列
#queue #lockfree
基于Arc结构实现的发布订阅模式无锁队列
reformation:允许使用正则表达式语法来解析文本
#macro
该库使用过程宏实现了一个derive属性,允许使用正则表达式语法来解析字符串。
use reformation::Reformation;
#[derive(Reformation)]
#[reformation(r"{year}-{month}-{day} {hour}:{minute}")]
struct Date{
year: u16,
month: u8,
day: u8,
hour: u8,
minute: u8,
}
fn main(){
let date: Date = "2018-12-22 20:23".parse().unwrap();
assert_eq!(date.year, 2018);
assert_eq!(date.month, 12);
assert_eq!(date.day, 22);
assert_eq!(date.hour, 20);
assert_eq!(date.minute, 23);
}
每日新闻订阅地址:
欢迎通过GitHub issues投稿。
1
共 0 条评论, 1 页
评论区
写评论还没有评论