[clang] [Clang] Permit noescape on non-pointer types (PR #117344)

Gábor Horváth via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 3 08:06:53 PST 2024


Xazax-hun wrote:

> What is it that consumes this?

We are planning to consume this downstream in the Swift compiler for C++ interop. Swift has non-escapable types, like Swift's `Span` type. The interop layer cannot bridge a C++ `std::span` as Swift's `Span` without this additional information from the API's authors. 

The need to annotate this property was also raised in https://discourse.llvm.org/t/rfc-a-clangir-based-safe-c/83245 which was the main motivation to make this change upstream, to avoid having multiple different spellings across the parallel efforts to interoperate between safe and unsafe code.

https://github.com/llvm/llvm-project/pull/117344


More information about the cfe-commits mailing list