Xcode can't properly parse the C header to show me the Swift signature, but if
I try calling it like this:
let p = lgs_notify_params_t(notify: lgs_notify_did_enter_background)
lgs_notify(self.ctx, p)
I get this error:
Cannot convert value of type 'lgs_notify_params_t' to expected argument type
'UnsafePointer<lgs_notify_params_t>!'
> On Jan 16, 2018, at 13:22 , Jordan Rose <[email protected]> wrote:
>
> You can do this if you don't write '&', which incorporates the caveat that
> you're not passing a stable address. But please file a bug anyway, because
> the diagnostic should tell you that!
>
> Jordan
>
>
>> On Jan 16, 2018, at 13:10, Rick Mann via swift-users <[email protected]>
>> wrote:
>>
>> 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
>> [email protected]
>>
>>
>> _______________________________________________
>> swift-users mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-users
>
--
Rick Mann
[email protected]
_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users