diff options
author | Sergio Martins <smartins@kde.org> | 2015-10-22 18:59:19 +0100 |
---|---|---|
committer | Sergio Martins <smartins@kde.org> | 2015-10-22 19:21:57 +0100 |
commit | 6c32f836d79cee3b1716d3e99ae185ad55df877f (patch) | |
tree | 6c86fe9e273bcdbd76079dcb23444ce9e5a4376a /tests/detaching-member | |
parent | 84af0d29c5476d88762b601960abcf2b5fa83410 (diff) |
WIP: Introducing detaching-members check
Lots of improvements can be done, for example:
container[0] = ..; // This detachment is unavoidable and desired, yet we are emitting a warning
Diffstat (limited to 'tests/detaching-member')
-rw-r--r-- | tests/detaching-member/main.cpp | 36 | ||||
-rw-r--r-- | tests/detaching-member/test.expected | 4 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/detaching-member/main.cpp b/tests/detaching-member/main.cpp new file mode 100644 index 00000000..bbe709b8 --- /dev/null +++ b/tests/detaching-member/main.cpp @@ -0,0 +1,36 @@ +#include <QtCore/QList> + +struct A +{ + A() + { + m_list.begin(); // Warning + m_list.cbegin(); // OK + } + + void f() + { + QList<int> list; + list.begin(); // OK + list[0]; // OK + + m_list.begin(); // Warning + m_list.cbegin(); // OK + m_constList.begin(); // OK + } + + void constF() const + { + m_list.begin(); // OK + m_string.data(); // OK + m_string[0]; // OK + m_list[0]; // OK + m_mutableString.begin(); // Warning + m_mutableString[0]; // Warning + } + + QList<int> m_list; + QString m_string; + mutable QString m_mutableString; + const QList<int> m_constList; +};
\ No newline at end of file diff --git a/tests/detaching-member/test.expected b/tests/detaching-member/test.expected new file mode 100644 index 00000000..2d5f94ea --- /dev/null +++ b/tests/detaching-member/test.expected @@ -0,0 +1,4 @@ +main.cpp:7:9: warning: Potential detachment due to calling QList<int>::begin() [-Wclazy-detaching-member] +main.cpp:17:9: warning: Potential detachment due to calling QList<int>::begin() [-Wclazy-detaching-member] +main.cpp:28:9: warning: Potential detachment due to calling QString::begin() [-Wclazy-detaching-member] +main.cpp:29:9: warning: Potential detachment due to calling QString::operator[]() [-Wclazy-detaching-member] |