code: func (r *Rar) Read() (File, error) {
  	if r.rr == nil {
  		return File{}, fmt.Errorf("rar archive is not open")
  	}
  
  	hdr, err := r.rr.Next()
  	if err != nil {
  		return File{}, err // don't wrap error; preserve io.EOF
  	}
  
  	file := File{
  		FileInfo:   rarFileInfo{hdr},
  		Header:     hdr,
  		ReadCloser: ReadFakeCloser{r.rr},
  	}
  
  	return file, nil
  }
docs: // Read reads the next file from t, which must have
  // already been opened for reading. If there are no
  // more files, the error is io.EOF. The File must
  // be closed when finished reading from it.