mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Update changelog following import of indirect fields. (#6728)
Signed-off-by: Florent Bruneau <florent.bruneau@intersec.com>
This commit is contained in:
committed by
Jordan Rose
parent
1eb97b634b
commit
a13c134521
33
CHANGELOG.md
33
CHANGELOG.md
@@ -20,6 +20,39 @@ CHANGELOG
|
||||
Swift 3.1
|
||||
---------
|
||||
|
||||
* Indirect fields from C structures and unions are now always imported, while
|
||||
they previously weren't imported if they belonged to an union. This is done by
|
||||
naming anonymous fields. For example:
|
||||
|
||||
```c
|
||||
typedef struct foo_t {
|
||||
union {
|
||||
int a;
|
||||
double b;
|
||||
};
|
||||
} foo_t;
|
||||
```
|
||||
|
||||
Get imported as:
|
||||
|
||||
```swift
|
||||
struct foo_t {
|
||||
struct __Unnamed_union___Anonymous_field0 {
|
||||
var a : Int { get set }
|
||||
var b : Double { get set }
|
||||
}
|
||||
var __Anonymous_field0 : foo_t.__Unnamed_union___Anonymous_field0
|
||||
|
||||
// a and b are computed properties accessing the content of __Anonymous_field0
|
||||
var a : Int { get set }
|
||||
var b : Double { get set }
|
||||
}
|
||||
```
|
||||
|
||||
Since new symbols are exposed from imported structure/unions, this may conflict
|
||||
with existing code that extended C types in order to provide their own accessors
|
||||
to the indirect fields.
|
||||
|
||||
* The `withoutActuallyEscaping` function from [SE-0103][] has been implemented.
|
||||
To pass off a non-escaping closure to an API that formally takes an
|
||||
`@escaping` closure, but which is used in a way that will not in fact
|
||||
|
||||
Reference in New Issue
Block a user