AUTOSAR C++14 Rule A17-6-1
Non-standard entities shall not be added to standard namespaces
説明
ルール定義
非標準のエンティティを標準の名前空間に追加しないものとします。
根拠
名前空間 std またはその部分空間、あるいは、posix またはその部分空間に宣言または定義を追加すると、未定義の動作につながります。たとえば、ここで中かっこ内に何かを追加すると、未定義の動作につながります。
namespace std {
...
}同様に、標準ライブラリのメンバー関数またはメンバー クラスを明示的に特殊化すると、未定義の動作につながります。
Polyspace 実装
チェッカーは、名前空間の std、posix、またはそれらの部分空間への追加、あるいは、これらの名前空間からのクラス テンプレートまたは関数テンプレートの特殊化にフラグを設定します。
ルール仕様では、ユーザー定義型が必要な標準ライブラリ テンプレートに関するルールの特殊化の側面が例外として許可されます。すべてのルール違反を正当化しなければならないプロセスがあり、チェッカーによってフラグが設定された問題がこの例外のカテゴリに属している場合は、結果またはコード内でコメントを使用して問題を正当化します。詳細は、以下を参照してください。
Polyspace ユーザー インターフェイスでのバグ修正または正当化による結果への対処 (Polyspace ユーザー インターフェイスで結果をレビューする場合)。
Polyspace Access でのバグ修正または正当化による結果への対処 (Polyspace Access) (Web ブラウザーで結果をレビューする場合)。
コードへの注釈付けと既知の結果または許容可能な結果の非表示 (IDE で結果をレビューする場合)
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
チェック情報
| グループ: ライブラリの導入 |
| カテゴリ: Required、Automated |
バージョン履歴
R2020a で導入