相关疑难解决方法(0)

什么"大小没有实现"是什么意思?

我写了以下代码:

use std::io::{IoResult, Writer};
use std::io::stdio;

fn main() {
    let h = |&: w: &mut Writer| -> IoResult<()> {
        writeln!(w, "foo")
    };
    let _ = h.handle(&mut stdio::stdout());
}

trait Handler<W> where W: Writer {
    fn handle(&self, &mut W) -> IoResult<()>;
}

impl<W, F> Handler<W> for F
where W: Writer, F: Fn(&mut W) -> IoResult<()> {
    fn handle(&self, w: &mut W) -> IoResult<()> { (*self)(w) }
}
Run Code Online (Sandbox Code Playgroud)

然后rustc在我的终端:

$ rustc writer_handler.rs
writer_handler.rs:8:15: 8:43 error: the trait `core::marker::Sized` is not …
Run Code Online (Sandbox Code Playgroud)

rust

35
推荐指数
2
解决办法
2万
查看次数

切片和数组之间有什么区别?

为什么都是&[u8]&[u8; 3]确定在这个例子吗?

fn main() {
    let x: &[u8] = &[1u8, 2, 3];
    println!("{:?}", x);

    let y: &[u8; 3] = &[1u8, 2, 3];
    println!("{:?}", y);
}
Run Code Online (Sandbox Code Playgroud)

&[T; n]可以胁迫的事实&[T]是使它们可以容忍的方面. - 克里斯摩根

为什么可以&[T; n]胁迫&[T]?在其他条件下,这种强制发生了吗?

arrays coercion slice rust

26
推荐指数
3
解决办法
3728
查看次数

为什么我可以迭代两次切片,但不能迭代?

如果我尝试迭代两次切片,它可以正常工作:

let a = &[1, 2, 3];
for i in a {
    println!("{}", i);
}
for i in a {            // works fine
    println!("{}", i);
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试迭代向量两次,它会失败:

let a = vec![1, 2, 3];
for i in a {
    println!("{}", i);
}
for i in a {
    println!("{}", i);
}
Run Code Online (Sandbox Code Playgroud)
error[E0382]: use of moved value: `a`
 --> src/main.rs:6:14
  |
3 |     for i in a {
  |              - value moved here
...
6 |     for i in …
Run Code Online (Sandbox Code Playgroud)

rust

15
推荐指数
1
解决办法
3160
查看次数

如何修复错误 E0277:不满足特征绑定 `[usize]: std::marker::Sized` ?

我正在尝试将数组传递给函数:

fn my_func(xs: [usize]) -> usize {
    0
}

fn main() {
    let arr = [329, 457, 657];
    let res = my_func(inp);
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

fn my_func(xs: [usize]) -> usize {
    0
}

fn main() {
    let arr = [329, 457, 657];
    let res = my_func(inp);
}
Run Code Online (Sandbox Code Playgroud)

我知道这些 其他 问题,但它们似乎不适用于我的简单情况。

我该如何修复该错误?

rust

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

标签 统计

rust ×4

arrays ×1

coercion ×1

slice ×1