Desde la beta 8.3, millones de advertencias "La interpolación de cadenas produce una descripción de depuración para un valor opcional; ¿quiso hacer esto explícito?" apareció en mi código.
Por ejemplo, la advertencia apareció en la siguiente situación, donde las opciones podrían llevar a cero:
let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
Como se diseñó anteriormente, estaba bien para mí (y el compilador) que los opcionales se interpolaran como 'nil'. Pero el compilador cambió de opinión.
Lo que sugiere el compilador es agregar un constructor de cadenas con una descripción de la siguiente manera:
let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
Obviamente, los resultados son explícitos pero también muy, muy engorrosos en mi opinión. ¿Hay alguna opción mejor? ¿Tengo que arreglar todas esas advertencias o mejor esperar a la próxima beta?