usestd::fmt::Debug;usestd::io::Read;/// Trait for synchronous input providers.
////// Implementors provide a way to open a readable stream from various sources
/// such as files, stdin, network, or in-memory buffers.
pubtraitInputProvider: Send + Sync + Debug {/// Returns a unique identifier for this input source.
////// This is used for error messages and logging.
/// Convention: "-" for stdin, file path for files.
fnid(&self)->&str;/// Open and return a new readable stream.
////// Each call should return a fresh stream positioned at the beginning.
fnopen(&self)->std::io::Result<Box<dyn Read +Send>>;}