message: Fix borrow checker issue for old rustc versions
diff: @@ -118,14 +118,15 @@ impl<'a, R: 'a + Read> ImageDecoder<'a> for GifDecoder<R> {
  //
  // TODO: Implement this without any allocation.
  + // Recover the full image
  + let image_buffer = {
  // See the comments inside `<GifFrameIterator as Iterator>::next` about
  // the error handling of `from_raw`.
  let image = ImageBuffer::from_raw(f_width, f_height, &mut *buf).ok_or_else(
  || ImageError::UnsupportedError("Image dimensions are too large".into())
  )?;
  - // Recover the full image
  - let image_buffer = ImageBuffer::from_fn(width, height, |x, y| {
  + ImageBuffer::from_fn(width, height, |x, y| {
  let x = x.wrapping_sub(left);
  let y = y.wrapping_sub(top);
  if x < image.width() && y < image.height() {
  @@ -133,7 +134,8 @@ impl<'a, R: 'a + Read> ImageDecoder<'a> for GifDecoder<R> {
  } else {
  Rgba([0, 0, 0, 0])
  }
  - });
  + })
  + };
  buf.copy_from_slice(&mut image_buffer.into_raw());
  }
  Ok(())
  