首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rust no_std split_at_mut函数“找不到类型的名为`split_mut_at`的方法”编译错误

Rust no_std split_at_mut函数“找不到类型的名为`split_mut_at`的方法”编译错误
EN

Stack Overflow用户
提问于 2019-01-26 22:32:50
回答 1查看 215关注 0票数 0

我正在尝试从一个无法编译的嵌入式rust示例中提取一些代码。许多这些旧的嵌入式示例无法编译,因为它们每晚都在使用,而且它们很快就会被破坏和忽略。

代码语言:javascript
复制
let mut buffer : [u8; 2048] = [0;2048];
// some code to fill the buffer here
// say we want to split the buffer at position 300
let (request_buffer, response_buffer) = buffer.split_mut_at(300);

此示例使用#![no_std],因此没有标准库可供链接,并且必须在某个时刻编译,因此函数split_mut_at一定在某个时刻工作过。我使用了IntelliJ rust和Visual Studio Code作为集成开发环境,但是这两个集成开发环境都不能给我提供split_mut_at函数的定义。在示例中有大量的板条箱和use语句,并且没有明确的方法来指出某些函数在没有大量试验和错误的情况下出现的地方。

顺便说一句,split_at_mut通常可以在std::string::String中找到

有没有一个rust命令可以告诉你一个函数在你的项目中属于哪个crate?在执行rust更新时,更新rust-docs总是需要很长时间。这肯定会有帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-27 03:48:05

您正在寻找slice::split_at_mut (请注意末尾的mut )。它在夜间文档here和稳定文档here中列出。它也确实可以在#![no_std]中使用。它在libcore here中定义。

根据一般经验,当来自corestd的函数x具有可变和不可变变量时,需要不可变引用的函数被命名为x,需要可变引用的函数被命名为x_mut

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54379343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档