[swift-evolution] [swift-users] Cannot pass immutable value as inout argument

Adrian Zubarev adrian.zubarev at devandartist.com
Tue Jan 16 15:20:00 CST 2018

I don’t know how C API is imported, btus INOUT parameter must be mutable, this is a language artifact.

Am 16. Januar 2018 um 22:10:13, Rick Mann via swift-users (swift-users at swift.org) schrieb:

Is it not possible for Swift to treat C API const pointers as something that can take let arguments?

LGS_EXPORT bool lgs_notify(struct lgs_context_t* ctx, const lgs_notify_params_t* params);
let p = lgs_notify_params_t(...)
lgs_notify(self.ctx, &p)
^Cannot pass immutable value as inout argument: 'p' is a 'let' constant

Why isn't the "const" in the C declaration enough to let Swift know it's const and just allow it to be a let?

Rick Mann
rmann at latencyzero.com

swift-users mailing list
swift-users at swift.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20180116/2bc9fc02/attachment.html>

More information about the swift-evolution mailing list