Given the elision rules, what is the inferred signature of this method's return lifetime?
struct Parser<'a> {
input: &'a str,
}
impl<'a> Parser<'a> {
fn first_token(&self, sep: &str) -> &str {
self.input.split(sep).next().unwrap()
}
}