-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix include/exclude options precedence #751
Comments
I'm slightly confused with the current symbol filtering. In my ideal world, I'd like to include symbols in the I strongly prefer whitelisting over blacklisting (and I'd say it's regarded as a better practice, in general). Some things I've tried that have generated confusion for me (
filters:
symbols:
exclude:
- '*'
include:
- 'boost::mysql::ssl_mode' Expected: generates symbols for
filters:
symbols:
exclude:
- 'boost::mysql::*'
include:
- 'boost::mysql::ssl_mode'
referenced-declarations: never
inaccessible-members: never
inaccessible-bases: never Expected: same as before. Actual: most of the symbols are trimmed, but some are still generated in the asio and system namespaces. The generated symbols seem to be related to template specializations relating foreign namespaces.
filters:
symbols:
exclude:
- 'boost::*'
- 'boost::mysql::*'
include:
- 'boost::mysql::ssl_mode' This actually does what I want, but I need to include entities one by one.
filters:
symbols:
exclude:
- 'boost::*'
- 'boost::mysql::*'
include:
- 'boost::mysql::any_connection'
referenced-declarations: dependency Expected:
filters:
symbols:
exclude:
- 'boost::system::*'
- 'boost::asio::*'
- 'boost::mysql::detail::*'
referenced-declarations: never Expected: all entities in boost::mysql are listed. All the libraries I forgot to include in the blacklist, like Boost.Variant2, are generated. No docs are generated for boost::system or boost::asio. Actual: libraries I forgot to include there don't seem to be listed there (I'd expect things like boost::variant2, which are included, to be there). Pages are generated for the boost::asio and boost::system namespaces, although they're empty. This last approach mostly works, but it seems very brittle.
filters:
symbols:
exclude:
- '*'
- 'boost::system::*'
- 'boost::asio::*'
- 'boost::mysql::detail::*'
referenced-declarations: never
inaccessible-members: never
inaccessible-bases: never Expected: everything is excluded. Actual: this is equivalent to 5. |
Also, I'd expect |
Regarding docs:
In general, I'd advocate for simplicity, as the current system looks pretty complex. |
It is supposed to work like this:
boost::${LIB}
.boost::${LIB}::detail
.The text was updated successfully, but these errors were encountered: