嵌入式Rust模式-零空間參考

文章提出一種參考方式可以在嵌入式系統使用 讓你可以在嵌入式系統中節省記憶體的使用

​https://ferrous-systems.com/blog/zero-sized-references/​

Tide 0.8.0 發佈了!

新特色 Fallible endpoints


use async_std::{fs, io};
use tide::{Response, StatusCode};


#[async_std::main]
async fn main() -> io::Result<()> {
let mut app = tide::new();


app.at("/").get(|_| async move {
let mut res = Response::new(StatusCode::Ok);
res.set_body(fs::read("my_file").await?);
Ok(res)
});


app.listen("localhost:8080").await?;
Ok(())
}


新特色 Server-Sent Events

use tide::sse;


#[async_std::main]
async fn main() -> Result<(), std::io::Error> {
let mut app = tide::new();
app.at("/sse").get(sse::endpoint(|_req, sender| async move {
sender.send("fruit", "banana", None).await;
sender.send("fruit", "apple", None).await;
Ok(())
}));
app.listen("localhost:8080").await?;
Ok(())
}


新特色 Static file serving


#[async_std::main]
async fn main() -> Result<(), std::io::Error> {
let mut app = tide::new();
app.at("/public/images").serve_dir("images/")?;
app.listen("127.0.0.1:8080").await?;
Ok(())
}


​https://github.com/http-rs/tide/releases/tag/v0.8.0​

如何在2020年加速Rust編譯器

Nicholas 記錄了他們過去增加編譯速度的一些方法

​https://blog.mozilla.org/nnethercote/2020/04/24/how-to-speed-up-the-rust-compiler-in-2020/​