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 <jordan_r...@apple.com> 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 <swift-users@swift.org> 
>> 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
>> rm...@latencyzero.com
>> 
>> 
>> _______________________________________________
>> swift-users mailing list
>> swift-users@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-users
> 


-- 
Rick Mann
rm...@latencyzero.com


_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to