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 <[email protected]> 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 <[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] <mailto:[email protected]>
_______________________________________________ swift-users mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-users
