mirror of https://github.com/rwf2/Rocket.git
56 lines
1.2 KiB
Rust
56 lines
1.2 KiB
Rust
|
#![feature(plugin)]
|
||
|
#![plugin(rocket_codegen)]
|
||
|
#![allow(dead_code)]
|
||
|
#![deny(unmanaged_state)]
|
||
|
|
||
|
extern crate rocket;
|
||
|
|
||
|
use rocket::State;
|
||
|
|
||
|
struct MyType;
|
||
|
struct MySecondType;
|
||
|
|
||
|
mod external {
|
||
|
#[get("/state/extern")]
|
||
|
fn unmanaged(_c: ::State<i32>) { }
|
||
|
//~^ ERROR not currently being managed
|
||
|
|
||
|
#[get("/state/extern")]
|
||
|
fn managed(_c: ::State<u32>) { }
|
||
|
//~^ WARN is not mounted
|
||
|
|
||
|
#[get("/state/extern")]
|
||
|
fn unmanaged_unmounted(_c: ::State<u8>) { }
|
||
|
//~^ WARN is not mounted
|
||
|
}
|
||
|
|
||
|
#[get("/state/bad")]
|
||
|
fn unmanaged(_b: State<MySecondType>) { }
|
||
|
//~^ ERROR not currently being managed
|
||
|
|
||
|
#[get("/state/ok")]
|
||
|
fn managed(_a: State<u32>) { }
|
||
|
|
||
|
#[get("/state/bad")]
|
||
|
fn managed_two(_b: State<MyType>) { }
|
||
|
|
||
|
#[get("/state/ok")]
|
||
|
fn unmounted_doesnt_error(_a: State<i8>) { }
|
||
|
//~^ WARN is not mounted
|
||
|
|
||
|
#[get("/ignored")]
|
||
|
#[allow(unmanaged_state)]
|
||
|
fn ignored(_b: State<u16>) { }
|
||
|
|
||
|
#[get("/unmounted/ignored")]
|
||
|
#[allow(unmounted_route)]
|
||
|
fn unmounted_ignored() { }
|
||
|
|
||
|
fn main() {
|
||
|
rocket::ignite()
|
||
|
.mount("/", routes![managed, unmanaged, external::unmanaged])
|
||
|
.mount("/", routes![managed_two, ignored])
|
||
|
.manage(MyType)
|
||
|
.manage(100u32);
|
||
|
}
|