Oh no, you're right, I'm sorry. You can only do that with arrays at the moment. 
We do have a bug for this already.

Jordan


> On Jan 16, 2018, at 16:37, Roderick Mann <rm...@latencyzero.com> wrote:
> 
> 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 <mailto:rm...@latencyzero.com>
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to