Summary
Although some config problems are flagged, there are range of config mistakes that are silently overlooked with no warning or error, which can result in compile/linking/import errors further downstream. It would be useful to add a config-validation pass to catch these early.
Some examples:
- Cross-module imports: if not configured properly, missing base classes lead to a
Python ImportError.
- Non-existent names: configured class, excluded_methods, wrong source_file are all silent, possibly leading to compile errors e.g. nonexistent header.
- template_substitutions mismatches: mismatch between arg-count and template-parameter count results in uncompilable instantiation, signature matching no class is silently ignored.
- CPPWG_ALL misuse: CPPWG_ALL mixed with manual entries silently disables wrap-everything.
- smart_ptr_type inconsistency: differing across a hierarchy can break compile break.
Summary
Although some config problems are flagged, there are range of config mistakes that are silently overlooked with no warning or error, which can result in compile/linking/import errors further downstream. It would be useful to add a config-validation pass to catch these early.
Some examples:
Python ImportError.