``` fn bar () -> uint { return 5; } fn foo (use_bar: bool) -> ~str { let mut a = -1; if use_bar { a = bar(); } if a >= 0 { ~"a" } else { ~"b" } } fn main() { printfln!("%s", foo(false)); printfln!("%s", foo(true)); } ``` ``` bad-infer.rs:10:7: 10:13 warning: comparison is useless due to type limits [-W type-limits (default)] bad-infer.rs:10 if a >= 0 { ```