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

Reply via email to