On 08.07.2013 16:50, Jonas Maebe wrote:
On 08 Jul 2013, at 16:39, Anthony Walter wrote:Here is an example: { TObjectList<TItem: TObject> = class(TIndexedList<TItem>) } bare.types.pas(1176,1) procedure/function constructor Create(Boolean);An unhandled exception occurred at $0816975E: bare.types.pas(1182,1) procedure/function procedure Clone:TObject; Fatal: Compilation aborted Error: ppc386 returned an error exitcodeWell, the compiler crashing with an unhandled exception is obviously always a compiler bug, rather than an indication that backward compatibility has been purposefully broken. The interleaved output of the unhandled exception and the errors is also strange.{ TObjectList<TItem> } constructor TObjectList<TItem>.Create(OwnsObjects: Boolean); begin // line 1176 inherited Create; FOwnsObjects := OwnsObjects; end; function TObjectList<TItem>.Clone: TObject; begin Result := TObjectList<TItem>.Create(False); Assign(Result, Self); end;Please file a bug report with complete code that can be fed to the compiler to reproduce the crash.
I agree with Jonas here. While you are indeed using a feature that's in the development version of FPC (and it's not called "development version" for fun), I've not broken anything generics related on purpose, otherwise I'd have documented it in the approbiate places.
Also if you see "unhandled exception" or "internal error" in the compiler's output this normally always points to a bug. So please report it, so it can be fixed.
Regards, Sven _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
