fn generate_source<I: Iterator<Item = SourceItem>>(&self) -> Source<I> {
        if let Some(ref cmd_str) = self.cmd {
            if let Some(ref dir) = self.cmd_dir {
                subprocess::Exec::shell(cmd_str).cwd(dir).into()
            } else {
                subprocess::Exec::shell(cmd_str).into()
            }
        } else {
            self.input
                .clone()
                .map(Into::into)
                .unwrap_or(Source::<I>::Stdin)
        }
    }
/// Firstly try building the Source from shell command, then the input file, finally reading the source from stdin.
Firstly try building the Source from shell command, then the input file, finally reading the source from stdin.
Firstly try building the Source from shell command then the input file finally reading the source from stdin .
fn generate_source<I: Iterator<Item = SourceItem>>(&self) -> Source<I> {
        if let Some(ref cmd_str) = self.cmd {
            if let Some(ref dir) = self.cmd_dir {
                subprocess::Exec::shell(cmd_str).cwd(dir).into()
            } else {
                subprocess::Exec::shell(cmd_str).into()
            }
        } else {
            self.input
                .clone()
                .map(Into::into)
                .unwrap_or(Source::<I>::Stdin)
        }
    }
fn generate_source < I : Iterator < Item = SourceItem > > ( & self ) -> Source < I > { if let Some ( ref cmd_str ) = self . cmd { if let Some ( ref dir ) = self . cmd_dir { subprocess :: Exec :: shell ( cmd_str ) . cwd ( dir ) . into ( ) } else { subprocess :: Exec :: shell ( cmd_str ) . into ( ) } } else { self . input . clone ( ) . map ( Into :: into ) . unwrap_or ( Source :: < I > :: Stdin ) } }
Firstly try building the Source from shell command, then the input file, finally reading the source from stdin.
Firstly try building the Source from shell command then the input file finally reading the source from stdin .
&self