fn into_lines<'a>(text: &'a str) -> impl Iterator<Item = FileLocation> + 'a {
    text.lines()
        .enumerate()
        .map(|(number, line)| (number + 1, line)) // Count from 1
        .filter(|(_, line)| !line.trim_start().starts_with(COMMENT_INDICATOR))
        .filter(|(_, line)| !line.is_empty())
}
/// Split a linear program into numbered lines, skipping comments.
///
/// # Arguments
///
/// * `text`: The program string.
///
/// # Return value
///
/// An iterator over numbered lines.
Split a linear program into numbered lines, skipping comments.
Split a linear program into numbered lines skipping comments .
fn into_lines<'a>(text: &'a str) -> impl Iterator<Item = FileLocation> + 'a {
    text.lines()
        .enumerate()
        .map(|(number, line)| (number + 1, line)) // Count from 1
        .filter(|(_, line)| !line.trim_start().starts_with(COMMENT_INDICATOR))
        .filter(|(_, line)| !line.is_empty())
}
fn into_lines < ' a > ( text : & ' a str ) -> impl Iterator < Item = FileLocation > + ' a { text . lines ( ) . enumerate ( ) . map ( | ( number , line ) | ( number + 1 , line ) ) // Count from 1 . filter ( | ( _ , line ) | ! line . trim_start ( ) . starts_with ( COMMENT_INDICATOR ) ) . filter ( | ( _ , line ) | ! line . is_empty ( ) ) }
Split a linear program into numbered lines, skipping comments.
Split a linear program into numbered lines skipping comments .
text
&'a str
text
&'a str
return value
An iterator over numbered lines.
An iterator over numbered lines .