AutosarC++18_03-A7.3.1

All overloads of a function shall be visible from where it is called

Required inputs: IR

Possible Messages

Key

Text

Severity

Disabled

declarations_surrounding_usage

Declarations straddle a usage

None

False

declarations_surrounding_using

Declarations straddle a using-declaration

None

False

hiding

{} hides {}

None

False

Options

allow_assignment_operator_hiding

allow_assignment_operator_hiding : bool = True

If set to true, we allow to hide the assignment operators, as pulling in the parent members using a using-declaration may allow assigning an instance of a parent class to a variable with the type of an inheriting class.
 

allow_crtp_pattern

allow_crtp_pattern : bool = False

If set to true, the rule will not report names hidden from a public base class when the base class is a template specialization with the derived class as one of its template arguments.
 

exclude_private_base_hidden_methods

exclude_private_base_hidden_methods : bool = False

Whether to report methods hidden by means of private inheritance.
 

ignore_hiding_declarations

ignore_hiding_declarations : bool = False

If set to true, the rule will not report declarations (without definitions) which hide other routines. Definitions hiding others will still be reported. Note that the option refers to the hiding declaration / definition, not to the hidden one.
 

report_hidden_fields

report_hidden_fields : bool = False

Whether to report fields hidden by means of inheritance
 

report_hidden_methods

report_hidden_methods : bool = True

Whether to report methods hidden by means of inheritance.
 

report_other_usages

report_other_usages : bool = True

Whether to find other usages (such as function calls, or taking a fp-reference) between multiple declarations for an identifier.