如何使用vec!#![no_std]库中的宏?

Mat*_*mer 6 rust

在标准的Rust代码中,vec!宏位于前奏中,无需手动显示.我正在开发一个不使用标准库和集合的库#![no_std],所以前奏也不可见.

里面的测试代码,我正在使用标准库的功能,所以我有一个

#[cfg(test)]
extern crate std;
Run Code Online (Sandbox Code Playgroud)

从标准库访问函数和数据类型没有问题,但现在我想访问vec!(...)宏,我不知道如何.

use std::vec::vec!; 导致错误:

expected one of `::`, `;`, or `as` here 
Run Code Online (Sandbox Code Playgroud)

在感叹号的位置.

我该如何访问此宏?

hel*_*low 8

除了Tims answer 之外,如果您有一个嵌入式系统并且有一个分配器,但没有 std,则可以使用

#[macro_use]
extern crate alloc;
Run Code Online (Sandbox Code Playgroud)

能够使用 vec!