summaryrefslogtreecommitdiffstats
path: root/tests/ui/issues/issue-26619.rs
blob: b9d34b0555aee515694e36e9fb8b5021de4498f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pub struct History<'a> { pub _s: &'a str }

impl<'a> History<'a> {
    pub fn get_page(&self) {
        for s in vec!["1|2".to_string()].into_iter().filter_map(|ref line| self.make_entry(line)) {
            //~^ ERROR cannot return value referencing function parameter
            println!("{:?}", s);
        }
    }

    fn make_entry(&self, s: &'a String) -> Option<&str> {
        let parts: Vec<_> = s.split('|').collect();
        println!("{:?} -> {:?}", s, parts);

        if let [commit, ..] = &parts[..] { Some(commit) } else { None }
    }
}

fn main() {
    let h = History{ _s: "" };
    h.get_page();
}