不安全的赋值返回空结构

时间:2016-08-04 03:07:21

标签: rust

我还不太清楚不安全的作业是如何运作的。以下代码给出了一些错误:

fn num() -> u64 {
    1;
}

fn test() -> u64 {
    let x = unsafe {
        num();
    };
    return x;
}

错误是:

src/main.rs:37:9: 37:10 note: expected type `u64`
src/main.rs:37:9: 37:10 note:    found type `()`

我的真实example与此类似。奇怪的是我有完全相同的代码,虽然我无法编译。

1 个答案:

答案 0 :(得分:2)

分号。

fn num() -> u64 {
    1
}

fn test() -> u64 {
    let x = unsafe {
        num()
    };
    return x;
}

See also this answer about semicolons