Hey I understand generics now
}
}
-pub struct OmfReader<'a> {
- r: &'a mut dyn Read,
+pub struct OmfReader<'a, R: Read> {
+ r: &'a mut R,
info: Rc<RefCell<OmfInfo>>,
}
-impl<'a> OmfReader<'a> {
- pub fn new(r: &'a mut dyn Read) -> OmfReader<'a> {
+impl<'a, R: Read> OmfReader<'a, R> {
+ pub fn new(r: &'a mut R) -> OmfReader<'a, R> {
OmfReader {
r,
info: Rc::new(RefCell::new(OmfInfo::new())),
}
}
-impl<'a> Iterator for OmfReader<'a> {
+impl<'a, R: Read> Iterator for OmfReader<'a, R> {
type Item = OmfRecord;
fn next(&mut self) -> Option<Self::Item> {