Ejecuta a lo mismo que a? .run en kotlin

Si una variable es anulable en Kotlin, necesitamos hacer una llamada de security?., O !!. para llamar explícitamente.

Cuando estaba tratando de usar algunas extensiones (como ejecutar o dejar) de una variable que admite nulos, noté que .run está bien y que IDE no se quejó, generalmente recibiré una advertencia para recordarme que no es una llamada de security.

¿Hace alguna diferencia para? .run {} y .run {} en kotlin? ¿Se considera una security nula si uso .run {}?

var a? = "..." a?.run{} a.run{}