Skip to content

[cxx-interop] update reverse interop status docs #61019

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Sep 9, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions docs/CppInteroperability/CppInteroperabilityStatus.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,32 @@ This status table describes which of the following Swift language features have

| **Swift Language Feature** | **Implemented Experimental Support For Using It In C++** |
|--------------------------------|----------------------------------------------------------|
| Instance methods | Yes, for structs and classes only |
| Instance methods | Yes |
| Static methods | No |

**Properties**

| **Swift Language Feature** | **Implemented Experimental Support For Using It In C++** |
|--------------------------------|----------------------------------------------------------|
| Getter accessors | Yes, via `get<name>`. Boolean properties that start with `is` or `has` are remapped directly to a getter method using their original name. For structs and classes only |
| Setter accessors | Yes, via `set<name>`. For structs and classes only |
| Getter accessors | Yes, via `get<name>`. Boolean properties that start with `is` or `has` are remapped directly to a getter method using their original name |
| Setter accessors | Yes, via `set<name>` |
| Mutation accessors | No |

**Generics**

| **Swift Language Feature** | **Implemented Experimental Support For Using It In C++** |
|------------------------------|----------------------------------------------------------|
| Generic functions | Partially, only without generic constraints |
| Generic methods | Partially, only without generic constraints |
| Generic `struct` types | Partially, only without generic constraints and less than 4 generic parameters |
| Generic `enum` types | No |
| Generic `class` types | No |

### Swift standard library

This status table describes which of the following Swift standard library APIs have some experimental support for using them in C++.

| **Swift Library Type** | **Can be used from C++** |
|--------------------------------|----------------------------------------------------------|
| `String` | Can be used as a type in C++. APIs in extensions are not exposed to C++ |
| `Array<T>` | Can be used as a type in C++. APIs in extensions are not exposed to C++ |