This looks like a scenario where RefCell<> would come in handy. You're trying to mutate something that already has an immutable borrow out there, so maybe you could do:
let mut image = Image::from_color(WIDTH, HEIGHT, &Color::GREEN).unwrap();
let texture = RefCell<Texture>::new(Texture::from_image(&image).unwrap());
let sprite = Sprite::with_texture(texture.borrow());
texture.borrow_mut().update_from_image(&image, 0, 0);
i have NOT tested this, nor have i actually used RefCell before
I just remember this from my learnings.
https://doc.rust-lang.org/book/ch15-05-interior-mutability.htmlEdit: yeah no that didn't work at all lol it just panics, back to the drawing board