Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
¿Pueden los errores de firma inválida activarse alguna vez en el tiempo de ejecución si Sorbet ha verificado estáticamente el código?

Estaba mirando la lista de errores de tiempo de ejecución de Sorbet de los documentos . Me parece que "Errores de procesos de firma no válidos" y "Errores de firmas no válidas" serían detectados por el verificador de tipo Sorbet. Si su código pasa las comprobaciones estáticas de Sorbet, ¿está garantizado que esos errores de tiempo de ejecución nunca ocurrirán?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Respuesta básica

Hay casos en los que pasan las comprobaciones estáticas, pero obtendrá un error de tiempo de ejecución. Considera lo siguiente:

 # typed: strict class A extend T::Sig sig {returns(Integer)} def foo; 0; end end class B < A sig {returns(String)} def foo; '0'; end end B.new.foo

Ejecutar esto terminará en:

 RuntimeError: Incompatible return type in signature for override of method `foo`

Extra

Puede evitar caer en esto asegurándose de usar overridable o (:final) ( docs ) en sus firmas cuando corresponda.

 class A extend T::Sig sig {overridable.returns(Integer)} def foo; 0; end sig (:final) {returns(Integer)} def bar; 0; end end class B < A sig {returns(String)} # this will fail static check, as it doesn't declare `override` def foo; '0'; end sig {returns(String)} # this will fail static check, as `bar` is `final` def bar; '0'; end end
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda