что я делаю не так. Хочу написать темплейт для сохранения 8-ми и 16-битной картинки из крейта image чтобы не дублировать код, передаю в T соответственно u8 и u16:
                  
                  
                  fn save_image<T: image::Primitive>(image: ImageBuffer<Luma<T>, Vec<T>>, path: &str)
                  
                  
                    -> Result<(), Error>
                  
                  
                  {
                  
                  
                    match image.save(path) {
                  
                  
                      Ok(_) => {
                  
                  
                        info!("Image saved to {}", &path);
                  
                  
                        Ok(())
                  
                  
                      },
                  
                  
                      Err(e) => {
                  
                  
                        error!("Failed to save image: {}", e);
                  
                  
                        Err(Error::ImageSaveFailure)
                  
                  
                      }
                  
                  
                    }
                  
                  
                  }
                  
                  
                  Компилятор не дает мне этого сделать, ругается на вызов save:
                  
                  
                  match image.save(path) {
                  
                  
                      |               ^^^^ method cannot be called on `ImageBuffer<Luma<T>, Vec<T>>` due to unsatisfied trait bounds
                  
                  
                      |
                  
                  
                      = note: the following trait bounds were not satisfied:
                  
                  
                              `[T]: EncodableLayout`
                  
                  
                              `[T]: image::traits::seals::EncodableLayout
                  
                  
                  Что я делаю не так?
                  
                  
                
Баунды эти повесь
Обсуждают сегодня