[fpc-pascal] Is this a bug?

Sven Barth pascaldragon at googlemail.com
Tue Apr 16 11:00:44 CEST 2013


Am 16.04.2013 09:57, schrieb Anthony Walter:
> I just wanted to get some opinions on this as to whether this is a 
> bug. Generics in 2.7.x trunk allows units which use a generic class 
> defined in another unit can access protected members.
>
> Example:
>
> unit A;
>
> type
>   TFoo<T> = class
>   protected
>     Bar: T;
>   end;
>
> <-- snip to next unit -->
>
> unit B;
>
> uses A;
>
> Foo: TFoo<Integer>;
> ...
> Foo.Bar := 42; // Code in unit B can access protected members of TFoo.
>
> Should the above line generate a compiler error instead? That is ... 
> TFoo.Bar shouldn't visible unless your code is in Unit A or in a 
> method of a class which inherits TFoo<T>?
>
Delphi XE generates an error here, so this is indeed a bug. Would you 
please report it together with a complete example?

Regards,
Sven



More information about the fpc-pascal mailing list