On Thu, 8 Jan 2026, Martin Frb via fpc-devel wrote:
On 08/01/2026 10:01, Michael Van Canneyt via fpc-devel wrote:
On Wed, 7 Jan 2026, Martin via fpc-devel wrote:
According to https://www.freepascal.org/docs-html/ref/refse34.html
Protected
Is the same as Private, except that the members of a Protected
section are also accessible to descendent types, even if they are
implemented in other modules.
"to descendant types" => suggests, from within a descendant type
(even if the descendant type is in a different unit).
But the example (working with 3.3.1) from
https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/41987
shows that the protected method is accessible
*_through_* the descendant type.
I.e. from any code in the unit of the descendant type, even code
outside the descendant type, if it goes "through" the descendant type.
What is your question ?
Should the doc be clearer on this?
- "to" in "to descendant types" from an English point of view says "the
descendant themself" or "the code inside the descendant"
Yes, because that is what is meant.
What you observe is a corollary of the scoping rules as I explained above.
I'll add a remark.
Michael.
_______________________________________________
fpc-devel maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel