{ %NORUN } program tw38145a; {$mode delphi} type TMyWrap = record Value: T; class operator Explicit(const w: TMyWrap): T; class operator Implicit(const w: TMyWrap): T; end; class operator TMyWrap.Explicit(const w: TMyWrap): T; begin Result := w.Value; end; class operator TMyWrap.Implicit(const w: TMyWrap): T; begin Result := w.Value; end; type //TString = string[255]; //compiles TString = string[254]; //not compiles var MySpec: TMyWrap; begin end.