mirror of https://github.com/rwf2/Rocket.git
parent
84fe23a9fb
commit
72bed509b9
|
@ -37,13 +37,15 @@ struct InstanceInfo {
|
|||
enum Receiver {
|
||||
Instance(DefId, Span),
|
||||
Call(NodeId, Span),
|
||||
Relative(Span),
|
||||
}
|
||||
|
||||
impl Receiver {
|
||||
/// Returns the span associated with the receiver.
|
||||
pub fn span(&self) -> Span {
|
||||
use self::Receiver::*;
|
||||
match *self {
|
||||
Receiver::Instance(_, sp) | Receiver::Call(_, sp) => sp
|
||||
Instance(_, sp) | Call(_, sp) | Relative(sp) => sp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -152,8 +154,11 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for RocketLint {
|
|||
.and_then(|id| lint.instance_vars.get(&id))
|
||||
.map(|recvr| recvr.clone())
|
||||
}
|
||||
ExprPath(QPath::TypeRelative(_, _)) => {
|
||||
Some(Receiver::Relative(rexpr.span))
|
||||
}
|
||||
ExprCall(ref c, ..) => Some(Receiver::Call(c.id, rexpr.span)),
|
||||
_ => unreachable!()
|
||||
_ => panic!("Unexpected node: {:?}", rexpr.node)
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -67,4 +67,19 @@ fn main() {
|
|||
.manage(MyType)
|
||||
.manage(100i32)
|
||||
.manage(100u32);
|
||||
|
||||
let config = rocket::Config::development().unwrap();
|
||||
|
||||
// Ensure unresolved paths are handled properly by lint.
|
||||
rocket::Rocket::custom(config, false)
|
||||
.mount("/", routes![managed, unmanaged, external::unmanaged])
|
||||
.mount("/", routes![managed_two, ignored, mounted_only_once])
|
||||
.mount("/", routes![external::managed, external::unmanaged_unmounted])
|
||||
.mount("/", routes![unmounted_doesnt_error, managed_two])
|
||||
.manage(MyType)
|
||||
.manage(MySecondType)
|
||||
.manage(100i32)
|
||||
.manage(100u32)
|
||||
.manage(1u8)
|
||||
.manage(1i8);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue