title: 'closure cannot implicitly capture a mutating self parameter' error in struct
body: <p><a href="https://i.stack.imgur.com/G9QDY.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/G9QDY.png" alt="enter image description here"></a></p>
  
  <p>This is the code is used don't know why this error occurring even i cannot use weak self with struct. want to store blackWhite image of image which existing on selectedicon URL :</p>
  
  <pre><code>struct ServiceViewModel {
  
    private var service: Service
    var selectedicon: URL?
    var name: String
    var subServiceCount: Int {
     return service.subServices.count
    }
    var subServicesViewModel = [SubServiceViewModel]()
    var blackWhiteImage: UIImage?
    var isSelected: Bool = false
    init(service: Service) {
      self.service = service
      self.selectedicon = URL(string: service.icon)
      self.name = service.name
  
    }
    mutating func generateBlackAndWhiteImage() {
      guard let url = selectedicon else {
        return
      }
      KingfisherManager.shared.retrieveImage(with: url, options: nil, progressBlock: nil) { (image, error, _, _) in
        //self.blackWhiteImage = image?.convertBlackAndWhite()
        self.blackWhiteImage = #imageLiteral(resourceName: "IM.png")
      }
    }
  
  
  }
  </code></pre>