我正在尝试建立一个非常类似于的项目dueboot https://github.com/jensnockert/dueboot。即嵌入式 ARM 上的 Rust。现在,我只完成了 Rust 代码的编译,但无法编译它。
我基本上完全从该项目中复制了 Rust 代码,但我并不完全理解lang_items
特征。
#![feature(asm)]
#![feature(lang_items)]
#![feature(no_std)]
#![no_std]
use arduino::{init, delay, pinMode, digitalWrite, analogWrite, LOW, HIGH, OUTPUT};
mod arduino;
#[lang="sized"]
trait Sized {}
#[lang="copy"]
trait Copy {}
#[lang="sync"]
trait Sync {}
static PWM:u32 = 2;
static LED:u32 = 11;
#[no_mangle]
pub fn main() {
// ...
}
尝试按上述方式编译代码会导致以下错误:
main.rs:11:1: 11:15 error: parameter `Self` is never used
main.rs:11 trait Sized {}
^~~~~~~~~~~~~~
main.rs:14:1: 14:14 error: parameter `Self` is never used
main.rs:14 trait Copy {}
^~~~~~~~~~~~~
main.rs:17:1: 17:14 error: parameter `Self` is never used
main.rs:17 trait Sync {}
^~~~~~~~~~~~~
error: aborting due to 3 previous errors
我还尝试注释掉所有与lang_items
,包括顶部的特征线。这是生成的错误消息:
// more lines of the same message
error: requires `sized` lang_item
error: requires `sized` lang_item
error: requires `sized` lang_item
error: requires `sized` lang_item
error: requires `sized` lang_item
error: aborting due to 54 previous errors
截至昨天,我正在使用 master 构建的 Rust。
有什么建议么?