//@aux-build:option_helpers.rs

#![warn(clippy::skip_while_next)]
#![allow(clippy::disallowed_names, clippy::useless_vec)]

extern crate option_helpers;
use option_helpers::IteratorFalsePositives;

#[rustfmt::skip]
fn skip_while_next() {
    let v = vec![3, 2, 1, 0, -1, -2, -3];

    // Single-line case.
    let _ = v.iter().skip_while(|&x| *x < 0).next();
    //~^ skip_while_next

    // Multi-line case.
    let _ = v.iter().skip_while(|&x| {
    //~^ skip_while_next
                                *x < 0
                            }
                   ).next();

    // Check that hat we don't lint if the caller is not an `Iterator`.
    let foo = IteratorFalsePositives { foo: 0 };
    let _ = foo.skip_while().next();
}

fn main() {}
