Das ist kein Bug. Wenn du das zuweisbar haben willst, musst du einen eigenen Typen deklarieren.
Delphi-Quellcode:
type
TBaseClass<T: class> = class abstract
public
type
TExampleArray = array [0 .. 0] of Integer;
protected
var
someField: TExampleArray;
public
procedure doStuff(); virtual; final;
end;
procedure TBaseClass<T>.doStuff();
const
someConstant: TExampleArray = (5);
begin
someField := someConstant;
end;
Denn sonst erstellt der Compiler selbst jeweils einen Typen und das sind dann eben verschiedene Typen, auch wenn die gleiche Deklaration zugrunde liegt.
Ist die Klasse jedenfalls nicht generisch, dann haben sowohl Compiler als auch Code Completion kein Problem.
Richtig, das hatte ich auch genau getestet was genau die wichtigen Schritte sind, sowohl den konkreten Typ Boolean als auch den Rest.