gpt4 book ai didi

rust - 无法将功能移至另一个文件?

转载 作者:行者123 更新时间:2023-12-03 11:46:31 24 4
gpt4 key购买 nike

使用火箭库时,将函数移到单独的文件时遇到了一些麻烦。
我能够从火箭网页编译并运行getting-started-example,如下所示:

// main.rs
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;

#[get("/")]
pub fn index() -> &'static str { "Hello, world!" }

fn main() { rocket::ignite().mount("/", routes![index]).launch(); }
但是,如果我将 index()函数移到它自己的文件中,则在同一目录中,如下所示:
// main.rs
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;

mod index;

fn main() { rocket::ignite().mount("/", routes![index]).launch(); }
// index.rs 
#[get("/")]
pub fn index() -> &'static str { "Hello, world!" }
然后出现错误消息:
error[E0425]: cannot find value `static_rocket_route_info_for_index` in this scope
--> src/main.rs:8:41
|
8 | rocket::ignite().mount("/", routes![index]).launch();
| ^^^^^ not found in this scope
|
help: consider importing this static
|
5 | use crate::index::static_rocket_route_info_for_index;
|

在这种情况下这是什么意思,我该如何解决?

最佳答案

正如@Jmb所评论的那样,问题在于文件index和函数index混合在一起了。
因此解决方案是将函数指定为index::index

关于rust - 无法将功能移至另一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66308068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com