UNPKG

pi-lens

Version:

Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo

50 lines (39 loc) • 1.09 kB
# No std::auto_ptr # Detects usage of deprecated std::auto_ptr id: no-auto-ptr name: std::auto_ptr Should Not Be Used severity: error category: reliability defect_class: correctness inline_tier: blocking language: cpp message: "std::auto_ptr should not be used — use std::unique_ptr instead" description: | std::auto_ptr is deprecated (since C++11) and removed in C++17. It has dangerous copy semantics. Use std::unique_ptr instead. ✅ FIX: Replace with std::unique_ptr ```cpp std::unique_ptr<MyClass> ptr = std::make_unique<MyClass>(); // GOOD ``` query: | (template_type name: (type_identifier) @NAME (#eq? @NAME "auto_ptr") arguments: (template_argument_list) @ARGS) ((type_identifier) @NAME (#eq? @NAME "auto_ptr")) metavars: - NAME - ARGS tags: - reliability - cpp - deprecated - since-cpp11 - removed-cpp17 examples: bad: | std::auto_ptr<MyClass> ptr(new MyClass()); // BAD - deprecated good: | std::unique_ptr<MyClass> ptr = std::make_unique<MyClass>(); // GOOD has_fix: true fix_action: replace_auto_with_unique_ptr