// Generated by `wit-bindgen` 0.41.0. DO NOT EDIT! // Options used: // * runtime_path: "wit_bindgen_rt" #[rustfmt::skip] #[allow(dead_code, clippy::all)] pub mod ringlet { pub mod pwc315_t1_find_words { #[allow(dead_code, async_fn_in_trait, unused_imports, clippy::all)] pub mod find_words { #[used] #[doc(hidden)] static __FORCE_SECTION_REF: fn() = super::super::super::__link_custom_section_describing_imports; use super::super::super::_rt; #[allow(unused_unsafe, clippy::all)] pub fn find_words(wlist: &[_rt::String], wchar: char) -> _rt::Vec { unsafe { #[cfg_attr(target_pointer_width = "64", repr(align(8)))] #[cfg_attr(target_pointer_width = "32", repr(align(4)))] struct RetArea( [::core::mem::MaybeUninit< u8, >; 2 * ::core::mem::size_of::<*const u8>()], ); let mut ret_area = RetArea( [::core::mem::MaybeUninit::uninit(); 2 * ::core::mem::size_of::<*const u8>()], ); let vec1 = wlist; let len1 = vec1.len(); let layout1 = _rt::alloc::Layout::from_size_align_unchecked( vec1.len() * (2 * ::core::mem::size_of::<*const u8>()), ::core::mem::size_of::<*const u8>(), ); let result1 = if layout1.size() != 0 { let ptr = _rt::alloc::alloc(layout1).cast::(); if ptr.is_null() { _rt::alloc::handle_alloc_error(layout1); } ptr } else { ::core::ptr::null_mut() }; for (i, e) in vec1.into_iter().enumerate() { let base = result1 .add(i * (2 * ::core::mem::size_of::<*const u8>())); { let vec0 = e; let ptr0 = vec0.as_ptr().cast::(); let len0 = vec0.len(); *base .add(::core::mem::size_of::<*const u8>()) .cast::() = len0; *base.add(0).cast::<*mut u8>() = ptr0.cast_mut(); } } let ptr2 = ret_area.0.as_mut_ptr().cast::(); #[cfg(target_arch = "wasm32")] #[link( wasm_import_module = "ringlet:pwc315-t1-find-words/find-words@0.1.0" )] unsafe extern "C" { #[link_name = "find-words"] fn wit_import3(_: *mut u8, _: usize, _: i32, _: *mut u8); } #[cfg(not(target_arch = "wasm32"))] unsafe extern "C" fn wit_import3( _: *mut u8, _: usize, _: i32, _: *mut u8, ) { unreachable!() } unsafe { wit_import3(result1, len1, _rt::as_i32(&wchar), ptr2) }; let l4 = *ptr2.add(0).cast::<*mut u8>(); let l5 = *ptr2 .add(::core::mem::size_of::<*const u8>()) .cast::(); let len6 = l5; let result7 = _rt::Vec::from_raw_parts(l4.cast(), len6, len6); if layout1.size() != 0 { _rt::alloc::dealloc(result1.cast(), layout1); } result7 } } } } } #[rustfmt::skip] mod _rt { #![allow(dead_code, clippy::all)] pub use alloc_crate::string::String; pub use alloc_crate::vec::Vec; pub use alloc_crate::alloc; pub fn as_i32(t: T) -> i32 { t.as_i32() } pub trait AsI32 { fn as_i32(self) -> i32; } impl<'a, T: Copy + AsI32> AsI32 for &'a T { fn as_i32(self) -> i32 { (*self).as_i32() } } impl AsI32 for i32 { #[inline] fn as_i32(self) -> i32 { self as i32 } } impl AsI32 for u32 { #[inline] fn as_i32(self) -> i32 { self as i32 } } impl AsI32 for i16 { #[inline] fn as_i32(self) -> i32 { self as i32 } } impl AsI32 for u16 { #[inline] fn as_i32(self) -> i32 { self as i32 } } impl AsI32 for i8 { #[inline] fn as_i32(self) -> i32 { self as i32 } } impl AsI32 for u8 { #[inline] fn as_i32(self) -> i32 { self as i32 } } impl AsI32 for char { #[inline] fn as_i32(self) -> i32 { self as i32 } } impl AsI32 for usize { #[inline] fn as_i32(self) -> i32 { self as i32 } } extern crate alloc as alloc_crate; } #[cfg(target_arch = "wasm32")] #[unsafe( link_section = "component-type:wit-bindgen:0.41.0:ringlet:pwc315-t1-test-find-words@0.1.0:test-find-words:encoded world" )] #[doc(hidden)] #[allow(clippy::octal_escapes)] pub static __WIT_BINDGEN_COMPONENT_TYPE: [u8; 293] = *b"\ \0asm\x0d\0\x01\0\0\x19\x16wit-component-encoding\x04\0\x07\x9f\x01\x01A\x02\x01\ A\x02\x01B\x04\x01ps\x01py\x01@\x02\x05wlist\0\x05wchart\0\x01\x04\0\x0afind-wor\ ds\x01\x02\x03\0-ringlet:pwc315-t1-find-words/find-words@0.1.0\x05\0\x04\07ringl\ et:pwc315-t1-test-find-words/test-find-words@0.1.0\x04\0\x0b\x15\x01\0\x0ftest-f\ ind-words\x03\0\0\0G\x09producers\x01\x0cprocessed-by\x02\x0dwit-component\x070.\ 227.1\x10wit-bindgen-rust\x060.41.0"; #[inline(never)] #[doc(hidden)] pub fn __link_custom_section_describing_imports() { wit_bindgen_rt::maybe_link_cabi_realloc(); }