blob: a52bc7c9a5572b93aa1d49121301775ea6964292 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.webkit.UnretainedLambdaCapturesChecker -fobjc-runtime-has-weak -fobjc-weak -fobjc-arc -verify %s
// expected-no-diagnostics
#include "objc-mock-types.h"
void someFunction();
template <typename Callback> void call(Callback callback) {
someFunction();
callback();
}
NSString *provideStr();
SomeObj *provideSomeObj();
void foo() {
__weak NSString *weakStr = provideStr();
__weak SomeObj *weakObj = provideSomeObj();
auto lambda = [weakStr, weakObj]() {
return [weakStr length] + [weakObj value];
};
call(lambda);
}
|