Quote Originally Posted by FS Lover View Post
I agree that we shouldn't modify it, but it's sufficiently clear that programmers need to use it directly (of course without modifying it or relying on stability it doesn't have, etc; these must be implemented in the code properly).
"Need"? Can you show me a case where you would "need" to use the QAbstractProxyModel API of the completion model ?

what you say is relevant to programming in general that I know already, you know, its abc that every real programmer should know;
There are many things so trivial people forget to do because they are so trivial that everybody knows them so they don't think about them and miss them.

but essential programmer's tools never are hidden in order that no one can misuse them!
Of course they are. For instance the "private" sections of classes in C++ are examples of such case.

so I think it is no reason for the documentation not telling that; obviously, we should be aware of the existence of a tool to make use of it.
No. The case with the completion model is an exact case where you should not know there is a proxy hidden behind. And in the next release of Qt there might not be a proxy there but the API has to remain unchanged.

documentation could add extra explanations and advise about any misuse of a tool, which is very ordinary and frequent in qt and any other such documentations.
mentioning implicit knowledge about that could be a better reasoning.
It's documentation, not a copy of the source code. Take a look at the source code and nothing will be hidden from your eyes.