1 2 3 4 5 6 7 8 9 10
use std::io::Read; pub trait ReaderFactory<Reader: Read> { fn make_reader(&self, name: String) -> Result<ReaderContext<Reader>, String>; } pub struct ReaderContext<Reader: Read> { pub reader: Reader, pub source_name: String }
1 2 3 4 5 6 7 8 9 10
use std::io::Read; pub trait ReaderFactory<Reader: Read> { fn make_reader(&self, name: String) -> Result<ReaderContext<Reader>, String>; } pub struct ReaderContext<Reader: Read> { pub reader: Reader, pub source_name: String }