本文主要是介绍【Rust日报】 2019-04-06,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Arenas vs. Indices:為型別寫函數要寫在型別裡還是外面?
作者舉了一些例子 下面簡單說明他討論的這個問題 他想為MVPArena寫一個add的函數 那把add這個函數從 impl MVPArena 移到外面 那首先就要解決生命週期的問題
struct MVPArena<T>(Vec<T>);impl<T> MVPArena<T> {fn add(&mut self, T value) -> Idx { .. }
}type Idx = u32;impl<T> Index<Idx> for MVPArena<T> {type Output = T;fn index(&self, idx: Idx) -> &T {&self[idx as usize]}
}
// ..
fn add(&mut self, value: T) -> Idx<'a> {// ..Idx(index, self.tag)
}impl<'a, T> Index<Idx<'a>> for MVPArena<'a, T> {type Output = T;fn index(&self, idx: Idx<'a>) -> &'a T {&self[idx.0 as usize]}
}
另外當你要寫一個樹結構的時候會遇到更多問題 因為生命週期沒辨法離開當前的區塊範圍
struct Tree<'i>(Option<(Idx<'i>, Idx<'i>)>);fn build_tree(arena: &mut Arena<'i, Tree<'i>>, depth: usize) {if depth == 0 {arena.add(Tree(None))else {arena.add(Tree(Some((build_tree(arena, depth - 1),build_tree(arena, depth - 1)))))}
}in_arena(|arena| { build_tree(arena, 3); });
Read more
CRUST:試著用rust寫一個 C11 c compiler
作者想要學rust, 於是決定寫一個compiler來練練手
Read more
有人用rust實作了Peter Shirley's Ray Tracing的演算法
Read more
Steve Klabnik加入CloudFlare
一位rust大佬,他就是上次寫rust超越我的男人
Read more
Rust source code行數變化
使用工具 https://github.com/src-d/hercules
Read more
Future API終於要定案了!
一堆rust開發者都在等啊~~~~
Read more
Zola 0.6.0
一個快速的靜態網站產生器,讓人快速的產生blog上傳到github上
Read more
新版 HashMap 要合併到rust了
Read more
From 日报小组 @damody
日报订阅地址:
- Telgram Channel
- 阿里云语雀订阅
- Stemmit
- Rust.cc论坛
- GitHub
这篇关于【Rust日报】 2019-04-06的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!