小编Tsu*_*kki的帖子

连接数组切片

我有两个(非常大)的数组foobar相同的类型.为了能够编写一些不错的代码,我想获得result两个数组串联的只读片.此操作必须在O(1)时间和空间中运行.

数组访问result也必须在O(1)中.更一般地说,如果resultk数组切片的串联,则result应该在O(k)中运行任意数组访问.

我不想复制的任何元素foo,也没有bar.

这似乎很容易实现到Rust核心,但没有多少搜索给我带来了解决方案.

rust

10
推荐指数
1
解决办法
3487
查看次数

要求在相关类型的遗传特征上绑定特征

我有一个Foo从另一个特征继承的特征Bar.Bar有一个相关的类型Baz.Foo限制Baz使得Baz必须实现Hoge.

trait Hoge {}

trait Bar {
    type Baz;
}

trait Foo: Bar where Self::Baz: Hoge {}
Run Code Online (Sandbox Code Playgroud)

但是,当我定义一个需要通用类型T来实现的泛型函数时Foo,

// [DESIRED CODE]
fn fizz<T: Foo>(buzz: T) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

rustc抱怨,EO277除非我T明确约束:

fn fizz<T: Foo>(buzz: T) where T::Baz: Hoge {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我需要这样做.我想能写[DESIRED CODE].建议的方法是什么?

rust

10
推荐指数
1
解决办法
549
查看次数

标签 统计

rust ×2