code: func (s *Scanner) Close() error {
  	buf := byteSlicePool.Get().([]byte)
  	_, err := io.CopyBuffer(stdioutil.Discard, s.r, buf)
  	byteSlicePool.Put(buf)
  	return err
  }
docs: // Close reads the reader until io.EOF