Einzelnen Beitrag anzeigen

archimedix

Registriert seit: 17. Jul 2011
19 Beiträge
 
Delphi 10.4 Sydney
 
#1

[return: unsafe] mit generischen Interfaces

  Alt 11. Jul 2022, 16:27
Delphi-Version: 10.4 Sydney
Hallo zusammen,

unsafe-return scheint mit generischen Interfaces nicht zu funktionieren... Ein Compiler-Bug, oder?
Code:
type
  IFoo<T> = interface
  ['{4D9F70B1-D511-463D-ADCE-13FA342422AF}']
  end;

  IBar = interface
  ['{C38B6CCE-55A9-4424-B450-FF555098CE58}']
    [Result: unsafe] function GetFoo: IFoo<Integer>;  // --> [dcc32 Fehler] Unit3.pas(32): E2585 Das Attribut 'unsafe' ist nur für Funktionen zulässig, die eine Klasse oder ein Interface zurückgeben: GetFoo
  end;

  IBar<T> = interface
  ['{C38B6CCE-55A9-4424-B450-FF555098CE58}']
    [Result: unsafe] function GetFoo: IFoo<T>;             // --> [dcc32 Fehler] Unit3.pas(42): E2585 Das Attribut 'unsafe' ist nur für Funktionen zulässig, die eine Klasse oder ein Interface zurückgeben: GetFoo
  end;

Geändert von archimedix (11. Jul 2022 um 16:31 Uhr)
  Mit Zitat antworten Zitat