相关疑难解决方法(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万
查看次数

在尝试从向量中返回值时,获取错误"错误:特征`core :: marker :: Sized`未实现"

我试图使用以下代码返回向量的值.我收到错误消息.

fn merge<'a>(left: &'a [i32], right: &'a [i32]) -> [i32] {
    let mut merged: Vec<i32> = Vec::new();
    // push elements to merged
    *merged
}
Run Code Online (Sandbox Code Playgroud)

test.rs:19:52:19:57错误:core::marker::Sized类型[i32] test.rs:19 fn merge <'a>(左:&'a [i32],右:&'a [i32] ) - > [i32] {

我不能为我的生活找到我如何解决这个问题

rust

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

标签 统计

rust ×2