Skip to content

Commit 3023c5a

Browse files
authored
Generate lifetime parameter explicitly for aliased PointerLengthPair (#51)
* Generate lifetime parameter explicitly for aliased PointerLengthPair * Regenerate lib_generated.rs for explicit lifetime parameter in args
1 parent 4291769 commit 3023c5a

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

crates/witx-bindgen/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,9 @@ impl Render for TypeRef {
222222
match self {
223223
TypeRef::Name(t) => {
224224
src.push_str(&t.name.as_str().to_camel_case());
225+
if t.type_().passed_by() == TypePassedBy::PointerLengthPair {
226+
src.push_str("<'_>");
227+
}
225228
}
226229
TypeRef::Value(v) => match &**v {
227230
Type::Builtin(t) => t.render(src),

src/lib_generated.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -955,7 +955,7 @@ pub unsafe fn fd_filestat_set_times(
955955
/// ## Return
956956
///
957957
/// * `nread` - The number of bytes read.
958-
pub unsafe fn fd_pread(fd: Fd, iovs: IovecArray, offset: Filesize) -> Result<Size> {
958+
pub unsafe fn fd_pread(fd: Fd, iovs: IovecArray<'_>, offset: Filesize) -> Result<Size> {
959959
let mut nread = MaybeUninit::uninit();
960960
let rc =
961961
wasi_snapshot_preview1::fd_pread(fd, iovs.as_ptr(), iovs.len(), offset, nread.as_mut_ptr());
@@ -1006,7 +1006,7 @@ pub unsafe fn fd_prestat_dir_name(fd: Fd, path: *mut u8, path_len: Size) -> Resu
10061006
/// ## Return
10071007
///
10081008
/// * `nwritten` - The number of bytes written.
1009-
pub unsafe fn fd_pwrite(fd: Fd, iovs: CiovecArray, offset: Filesize) -> Result<Size> {
1009+
pub unsafe fn fd_pwrite(fd: Fd, iovs: CiovecArray<'_>, offset: Filesize) -> Result<Size> {
10101010
let mut nwritten = MaybeUninit::uninit();
10111011
let rc = wasi_snapshot_preview1::fd_pwrite(
10121012
fd,
@@ -1032,7 +1032,7 @@ pub unsafe fn fd_pwrite(fd: Fd, iovs: CiovecArray, offset: Filesize) -> Result<S
10321032
/// ## Return
10331033
///
10341034
/// * `nread` - The number of bytes read.
1035-
pub unsafe fn fd_read(fd: Fd, iovs: IovecArray) -> Result<Size> {
1035+
pub unsafe fn fd_read(fd: Fd, iovs: IovecArray<'_>) -> Result<Size> {
10361036
let mut nread = MaybeUninit::uninit();
10371037
let rc = wasi_snapshot_preview1::fd_read(fd, iovs.as_ptr(), iovs.len(), nread.as_mut_ptr());
10381038
if let Some(err) = Error::from_raw_error(rc) {
@@ -1149,7 +1149,7 @@ pub unsafe fn fd_tell(fd: Fd) -> Result<Filesize> {
11491149
/// ## Return
11501150
///
11511151
/// * `nwritten` - The number of bytes written.
1152-
pub unsafe fn fd_write(fd: Fd, iovs: CiovecArray) -> Result<Size> {
1152+
pub unsafe fn fd_write(fd: Fd, iovs: CiovecArray<'_>) -> Result<Size> {
11531153
let mut nwritten = MaybeUninit::uninit();
11541154
let rc = wasi_snapshot_preview1::fd_write(fd, iovs.as_ptr(), iovs.len(), nwritten.as_mut_ptr());
11551155
if let Some(err) = Error::from_raw_error(rc) {
@@ -1520,7 +1520,11 @@ pub unsafe fn random_get(buf: *mut u8, buf_len: Size) -> Result<()> {
15201520
///
15211521
/// * `ro_datalen` - Number of bytes stored in ri_data.
15221522
/// * `ro_flags` - Message flags.
1523-
pub unsafe fn sock_recv(fd: Fd, ri_data: IovecArray, ri_flags: Riflags) -> Result<(Size, Roflags)> {
1523+
pub unsafe fn sock_recv(
1524+
fd: Fd,
1525+
ri_data: IovecArray<'_>,
1526+
ri_flags: Riflags,
1527+
) -> Result<(Size, Roflags)> {
15241528
let mut ro_datalen = MaybeUninit::uninit();
15251529
let mut ro_flags = MaybeUninit::uninit();
15261530
let rc = wasi_snapshot_preview1::sock_recv(
@@ -1550,7 +1554,7 @@ pub unsafe fn sock_recv(fd: Fd, ri_data: IovecArray, ri_flags: Riflags) -> Resul
15501554
/// ## Return
15511555
///
15521556
/// * `so_datalen` - Number of bytes transmitted.
1553-
pub unsafe fn sock_send(fd: Fd, si_data: CiovecArray, si_flags: Siflags) -> Result<Size> {
1557+
pub unsafe fn sock_send(fd: Fd, si_data: CiovecArray<'_>, si_flags: Siflags) -> Result<Size> {
15541558
let mut so_datalen = MaybeUninit::uninit();
15551559
let rc = wasi_snapshot_preview1::sock_send(
15561560
fd,

0 commit comments

Comments
 (0)