1. 共性与区别 写异步 rust 时,我们经常需要一种一次性的通知手段,用于实现线程同步。tokio 提供了两种满足上述需求的同步工具:tokio::sync::oneshot::channel 和 tokio::sync::Notify。 二者主…
Pin 是一个结构 struct,Unpin 是一个特征 trait。 Pin 唯一的结构体成员就是一个指针(例如引用和 Box)。它能保证这个指针指向的数据不被移动。 Unpin 代表数据可以被安全地移动,!Unpin 代表数据不可以被安全移动。通…
1. 基本结构 入口类型 ConnectionPool 由一个 Hashmap pool 和一个 lru Lru 组成。 /// Connection pool /// /// [ConnectionPool] holds reusable conn…
1. String, &str 和 str 想要搞清楚这三者的差别,要从 str 开始说起。 1.1. str 和 &str str 是字符串切片(string slice),是对部分连续的 UTF8 字符序列的引用。 所有的切片类型…
本文是 rust 社区大神 quinedot 的系列文章 的翻译版。我在国内各个平台似乎都没有看到现存的翻译,因此尝试做些搬运工作。由于本人的技术和翻译水平都非常有限,难免有错误,非常欢迎大家对不当之处进行指正。 这是本系列文章的第 3 篇。 1. …
本文是 rust 社区大神 quinedot 的系列文章 的翻译版。我在国内各个平台似乎都没有看到现存的翻译,因此尝试做些搬运工作。由于本人的技术和翻译水平都非常有限,难免有错误,非常欢迎大家对不当之处进行指正。 这是本系列文章的第 2 篇。 1. …
1. 译者注 本文是 rust 社区大神 quinedot 的系列文章 的翻译版。我在国内各个平台似乎都没有看到现存的翻译,因此尝试做些搬运工作。由于本人的技术和翻译水平都非常有限,难免有错误,非常欢迎大家对翻译不当之处进行指正。 这是本系列文章的第…
1. Fn, FnMut, FnOnce 1.1. 讨论的范畴:闭包 or 通常函数 讨论这三个 trait 时,通常是关于闭包的。普通的 rust 函数被视为实现了以上所有三个trait。可以用下面这段代码证明: fn apply_fn<T&…
rust forum 求助首贴
🥲 https://users.rust-lang.org/t/mismatched-types-error-on-associated-type-and-trait-objects/111393
1. 场景 当我们需要用特征对象的时候,大部分情况下 Rust 编译器可以自动进行类型推断。但是在少数场景下,我们可能需要显式声明特征对象,其中一个例子就是引用 + 关联类型同时出现。 直接来看一个例子,为了更加形象地解释,我们用服务器端程序的场景来…