Hi @guillaume_M-D,
Good point, but this public “default visibility” only applies to state variables. You have to define the visibility of a function otherwise the compiler rejects it. And the question was specifically about which functions are available to derived contracts (not state variables)
Not everything else — don’t forget there is also external
visibility, and a function or state variable marked as external
will only be inherited by other smart contracts that are also not derived contracts.
It’s so good that you are really thinking about what the standard answer actually means though, as that’s the best way to understand what is really going on in practice