ADVERTENCIA: uso peligroso de este objeto global

En Google Closure Compiler recibo la advertencia

ADVERTENCIA: uso peligroso de este objeto global

Aquí hay un ejemplo. La línea de error y el desplazamiento se refieren al comienzo de la palabra.this

function aToggle() {
  if(shown)
    toggle.show()
  else
    toggle.hide()
  $(this).text(shown ? 'Click to hide' : 'Click to show')
  shown = !shown
}
link.onclick = aToggle

Simplemente lo cambiaría a un método anónimo, pero estoy reutilizandoaToggle en otra parte del archivo, por lo que debe nombrarse.

Podría marcaraToggle como/**@constructor*/ - Pero no es un constructor. ¿Hay otra anotación que pueda usar para eliminar esta advertencia, o estoy atrapado entre marcarlo como constructor o hacer que aparezcan un montón de advertencias inútiles?

Respuestas a la pregunta(3)

Su respuesta a la pregunta