blob: 47b7dc64d5cc1e26020a71105fbd98b178bf164b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
// rdar: // 8379892
struct X {
X();
X(const X&);
~X();
static int staticData;
int data;
void method();
};
@interface A {
X xval;
}
- (X)x;
- (void)setx:(X)x;
@end
void f(A* a) {
a.x = X(); // expected-error {{setter method is needed to assign to object using property assignment syntax}}
}
struct Y : X { };
@interface B {
@private
Y *y;
}
- (Y)value;
- (void)setValue : (Y) arg;
@property Y value;
@end
void g(B *b) {
b.value.data = 17; // expected-error {{not assignable}}
b.value.staticData = 17;
b.value.method();
}
|