This is because you must convert the error type manually.
use futures::stream::TryStreamExt; // for map_err
fn convert_error(err: reqwest::Error) -> std::io::Error {
todo!()
}
let stream = res.bytes_stream().map_err(convert_error);
let mut stream_reader = StreamReader::new(stream);
let mut decoder = GzipDecoder::new(stream_reader);