fn check_comp(lines: &[&str]) {
        assert::is_true(&lines.join("\n"));
        let (last, init) = lines.split_last().unwrap();
        assert::is_true(&format!(
            "def f():\n  {}\n  return {}\nf()",
            init.join("\n  "),
            last
        ));
    }
// comprehensions should work whether they are at the root, or under a def
// but these are actually quite different locations semantically, so test both
comprehensions should work whether they are at the root, or under a def
but these are actually quite different locations semantically, so test both
comprehensions should work whether they are at the root or under a def but these are actually quite different locations semantically so test both
fn check_comp(lines: &[&str]) {
        assert::is_true(&lines.join("\n"));
        let (last, init) = lines.split_last().unwrap();
        assert::is_true(&format!(
            "def f():\n  {}\n  return {}\nf()",
            init.join("\n  "),
            last
        ));
    }
fn check_comp ( lines : & [ & str ] ) { assert :: is_true ( & lines . join ( " \n " ) ) ; let ( last , init ) = lines . split_last ( ) . unwrap ( ) ; assert :: is_true ( & format ! ( " \n \n \n " init join ( " \n " ) last ) ) ; }
comprehensions should work whether they are at the root, or under a def
but these are actually quite different locations semantically, so test both
comprehensions should work whether they are at the root or under a def but these are actually quite different locations semantically so test both
lines
&[&str]
lines
&[&str]