Rust 是否将打开的图像作为全局变量?

Rust 是否将打开的图像作为全局变量?,rust,rust-rocket,Rust,Rust Rocket,我想写一个服务器,它可以调整一个巨大图像的大小。因为在每个请求上加载它都会花费很多时间,所以我决定预加载它。不幸的是,我得到了以下错误: 编译hello_world v0.0.0(/tmp/Rocket/examples/hello_world)

我想写一个服务器,它可以调整一个巨大图像的大小。因为在每个请求上加载它都会花费很多时间,所以我决定预加载它。不幸的是,我得到了以下错误:

编译hello_world v0.0.0(/tmp/Rocket/examples/hello_world)                                                                                                                                                                                                                                                                                                         
错误[E0015]:静态中的调用仅限于常量函数,元组结构和元组变体
-->examples/hello_world/src/main.rs:9:35            
|                                                                                                                                                                                                                                                                                                                                                                        
9 |静态img:image::DynamicImage=image::open(“/home/d33tah/tmp/combined.png”).unwrap();                                                                                                                                                                                                                                                                               
|                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                                                                                                         
错误[E0015]:静态中的调用仅限于常量函数,元组结构和元组变体
-->examples/hello_world/src/main.rs:9:35            
|                                                                                                                                                                                                                                                                                                                                                                        
9 |静态img:image::DynamicImage=image::open(“/home/d33tah/tmp/combined.png”).unwrap();                                                                                                                                                                                                                                                                               
|                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                                                                                                
错误:由于之前的两个错误而中止             
有关此错误的详细信息,试试“rustc——解释E0015”。
错误:无法编译`你好,世界`。
要了解更多信息,请使用--verbose再次运行该命令。
代码如下:

#![feature(proc_macro_hygiene, decl_macro)]

#[macro_use] extern crate rocket;

#[cfg(test)] mod tests;

extern crate image;

static img: image::DynamicImage = image::open("/home/d33tah/tmp/combined.png").unwrap();

#[get("/")]
fn hello() -> Vec<u8> {
    "".into()
}

fn main() {
    rocket::ignite().mount("/", routes![hello]).launch();
}
#![功能(过程宏、数据宏)]
#[macro_use]外部板条箱火箭;
#[cfg(测试)]模块测试;
外部板条箱图像;
静态img:image::DynamicImage=image::open(“/home/d33tah/tmp/combined.png”).unwrap();
#[获取(“/”)]
fn hello()->Vec{
“.into()
}
fn main(){
火箭::点火().mount(“/”,routes![hello]).launch();
}
要编译它,您需要根据最新的Github签出(当前为831D8DFBE30DD69F0367A753661E027127B2100E1)和
image
板条箱安装
rocket

是否可以创建这样一个全局变量?如果不是
let image = image::open("/home/d33tah/tmp/combined.png").unwrap();
rocket::ignite().manage(image);
#[get("/foo")]
fn foo(image: State<DynamicImage>) {
    // Can use `image`.
}