summaryrefslogtreecommitdiffstats
path: root/src/test/ui/inference/question-mark-type-infer.rs
blob: 64333a29313b349d2187441020d27c7326be8c5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Test that type inference fails where there are multiple possible return types
// for the `?` operator.

fn f(x: &i32) -> Result<i32, ()> {
    Ok(*x)
}

fn g() -> Result<Vec<i32>, ()> {
    let l = [1, 2, 3, 4];
    l.iter().map(f).collect()? //~ ERROR type annotations needed
}

fn main() {
    g();
}