Swift 3.0 comstackdor y asignación de memory de Sourcekitservice

Me encontré con un problema extraño en mi proyecto iOS swift 3.

Escenarios:

Tengo una list de objects que los objects tienen una propiedad como se puede ver a continuación:

var total: Double { var sum = 0.0 for item in self.products! { sum += item.price ?? 0 } return sum } 

En la misma class existe otra propiedad llamada distancia:

 var distance: Double? 

La compilation de mis proyectos funciona bien cuando encuentro el valor máximo de la distancia, así:

 let minDistance = est?.max(by: { (e1, e2) -> Bool in return e1.distance! < e2.distance! }) 

Sin embargo, cuando trato de encontrar el valor máximo privado, mis comstackciones de proyectos se vuelven demasiado lentas y consumen mucha memory en processs de service rápido y sourcekits (más de 40 GB).

 let maxValue = est?.max(by: { (e1, e2) -> Bool in return e1.total < e2.total }) 

Cuando uso un if let block funciona bien:

 if let e = est { let minDistance = e.max(by: { (e1, e2) -> Bool in return e1.distance! < e2.distance! }) let maxValue = est?.max(by: { (e1, e2) -> Bool in return e1.total < e2.total }) } 

¡El problema en este caso es cuando uso los objects minDistance! y maxvalue Si no uso estas variables, el problema no se produce.

Asignación de memory SourceKitService: introduzca la descripción de la imagen aquí introduzca la descripción de la imagen aquí

¿Alguien ya se encontró con un problema similar?