Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-12-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Bug del compilador en métodos genéricos

Hola a todos,

He encontrado una falla que esta hace bastante tiempo en el compilador de Delphi. Se trata de que el compilador no es capaz de reportar hints y warnings en metodos genericos, cuando si escribimos el mismo metodo sin usar el tipo generico si puede detectar los potenciales problemas. Ya hemos hablado aqui de lo importante que son los hint y warning y ejemplos de situaciones en las que puede salvar el dia hay cientos, como este

He creado un reporte en el sitio de Embarcadero, este es el link

Cuantos mas voten en la incidencia, mayor prioridad deberia tener para el equipo de Embarcadero y deberiamos verlo solucionado

El problema es reproducible en Delphi 2010, Delphi 10 Seattle y Delphi 10.1 Berlin, por lo que asumo que existe desde Delphi 2009 que es cuando se introdujeron los genericos hasta el dia de hoy

Quien no disponga de una version nueva de Delphi puede reproducirlo facilmente con la version Delphi 10.1 Berlin Starter. En el reporte pueden encontrar el siguiente fragmento de codigo:

Código PHP:
type
  TTest 
= class
  public
    function 
GenericUnasignedFunctionResult<T>: Integer;
    function 
UnasignedFunctionResultInteger;
    
procedure UnusedLocalVar;
    
procedure GenericUnusedLocalVar<T>;
  
end;
 
procedure TTest.GenericUnusedLocalVar<T>;
var
  
UnusedInteger// no se emite hint aqui
begin
end
;
 
procedure TTest.UnusedLocalVar;
var
  
UnusedInteger// H2164 Variable 'Unused' is declared but never used in 'TTest.Hint'
begin
end
;
 
function 
TTest.UnasignedFunctionResultInteger;
begin
// W1035 Return value of function 'TTest.UnasignedFunctionResult' might be undefined
end;
 
function 
TTest.GenericUnasignedFunctionResult<T>: Integer;
begin
  
// no se emite warning aqui
end
Considero que este problema es de altisima prioridad y deberia ser solucionado lo antes posible

Asi que este es un llamado para que todo aquel que considere que este problema merece su debida importancia, vote el reporte, por favor

Última edición por AgustinOrtu fecha: 15-12-2016 a las 17:11:33.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Métodos sobrecargados vs métodos repetidos AgustinOrtu Debates 12 22-10-2016 18:49:53
Tipos Genericos doctorhd Varios 21 08-10-2015 05:54:03
Class Helpers sobre Genericos.. yapt OOP 1 24-04-2011 16:06:17
Listbox con items genericos ANG4L Varios 2 11-05-2006 03:54:37
Parametros sql genericos AbcXxx Conexión con bases de datos 2 10-11-2005 00:31:59


La franja horaria es GMT +2. Ahora son las 16:06:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi