【Rust日报】 2019-05-31:rust.cc社区提供了国内crates镜像

Enum的值如何作为类型

這位寫C++的老兄想寫以前的Enum

fn pet(_: Animal::Whale) {}

fn pet(_: Animal::Dog) {}

// or somehow describe a trait that forces its implementors to impl specific enum variants; not allow them to impl the whole enum

trait Petter<T> {

fn pet(_: Animal::T);

}

rust的近似方案1

struct Dog {}
struct Whale {}
enum Animal {
   Dog(Dog),
   Whale(Whale),
}

rust的近似方案2

// given there is a trait Bar, and types A and B implement it:
enum Foo {
   A(A),
   B(B),
}

impl Bar for Foo {
   fn bar(&self) {
       match self {
           A(a) => a.bar(),
           B(b) => b.bar(),
       }
   }
}

impl From<A> for Foo {
   fn from(a: A) -> Foo {
       Foo::A(a)
   }
}

有個庫enum_dispatch可以達到類似的效果

#[enum_dispatch]
enum Foo {
   A,
   B,
}

Read more

j4rs 從rust调用java

在rust裡面建立 JvmBuilder 再调用 java 函數

Read more

Tarpaulin 一個計算代碼覆蓋率的工具

只支援 x86_64 Linux

Read more

用 wasm 重製骨灰级遊戲 pong

Read more

遊戲排隊系統尋找外包

「*」找外包 預算6萬人民幣 有興趣的人請寄 t1238142000@gmail.com ,要求Rust实现。

Read more

Facebook开源的 Mercurial源码控制系统的下一代服务器 mononoke 最近升级到了2018 edition

mononoke

Rust和Blender

Blender是一个免费的开源3D创作套件。该文作者曾经在Blender工作过,编写过Python API。为了探索Blender二进制文件格式并提供读取和使用它们的工具,该文作者创建了一个Rust项目

  • Read More

  • rs_blender

rust-battop: 交互式终端电量可视化工具

基于Tui-rs实现。

rust-battop

从Rust调用Go库:使用SQIP进行案例研究

SQIP 是基于SVG 的LQIO 方案,其能够用于生成可用的SVG格式。作者之前用Node.js中的SQIP包,但是不够稳定,然后又打算用Rust重新实现,又不打算重头编写,所以找到了SQIP的Go绑定库,想通过FFI在Rust中调用Go代码。但是和Cgo打交道,性能不知道如何。

Read More

rust.cc社区提供了国内crates镜像

与清华,交大等镜像不同的是,这个是专用的Rust仓库镜像,应该会更稳定。快来试试吧


上一篇:C++多态的使用


下一篇:Animal类的继承与接口的例子 | java