Skip to content

Commit 9b94c11

Browse files
committed
stub-implement fixed size lists
1 parent 1e8b241 commit 9b94c11

File tree

7 files changed

+29
-20
lines changed

7 files changed

+29
-20
lines changed

Cargo.lock

Lines changed: 7 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ prettyplease = "0.2.20"
3131
syn = { version = "2.0.89", features = ["printing"] }
3232
futures = "0.3.31"
3333

34-
wat = "1.229.0"
35-
wasmparser = "0.229.0"
36-
wasm-encoder = "0.229.0"
37-
wasm-metadata = { version = "0.229.0", default-features = false }
38-
wit-parser = "0.229.0"
39-
wit-component = "0.229.0"
34+
wat = { git = "https://github.com/cpetig/wasm-tools", branch = "fixed-length-list" }
35+
wasmparser = { git = "https://github.com/cpetig/wasm-tools", branch = "fixed-length-list" }
36+
wasm-encoder = { git = "https://github.com/cpetig/wasm-tools", branch = "fixed-length-list" }
37+
wasm-metadata = { git = "https://github.com/cpetig/wasm-tools", branch = "fixed-length-list", default-features = false }
38+
wit-parser = { git = "https://github.com/cpetig/wasm-tools", branch = "fixed-length-list" }
39+
wit-component = { git = "https://github.com/cpetig/wasm-tools", branch = "fixed-length-list" }
4040

4141
wit-bindgen-core = { path = 'crates/core', version = '0.41.0' }
4242
wit-bindgen-c = { path = 'crates/c', version = '0.41.0' }

crates/c/src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,7 @@ fn is_prim_type_id(resolve: &Resolve, id: TypeId) -> bool {
722722
| TypeDefKind::Future(_)
723723
| TypeDefKind::Stream(_)
724724
| TypeDefKind::Unknown => false,
725+
TypeDefKind::FixedSizeList(_, _) => todo!(),
725726
}
726727
}
727728

@@ -794,6 +795,7 @@ pub fn push_ty_name(resolve: &Resolve, ty: &Type, src: &mut String) {
794795
push_ty_name(resolve, &Type::Id(*resource), src);
795796
}
796797
TypeDefKind::Unknown => unreachable!(),
798+
TypeDefKind::FixedSizeList(_, _) => todo!(),
797799
}
798800
}
799801
}
@@ -1004,6 +1006,7 @@ impl Return {
10041006
TypeDefKind::Stream(_) => todo!("return_single for stream"),
10051007
TypeDefKind::Resource => todo!("return_single for resource"),
10061008
TypeDefKind::Unknown => unreachable!(),
1009+
TypeDefKind::FixedSizeList(_, _) => todo!(),
10071010
}
10081011

10091012
self.retptrs.push(*orig_ty);
@@ -1630,6 +1633,7 @@ impl InterfaceGenerator<'_> {
16301633
self.free(&Type::Id(*id), "*ptr");
16311634
}
16321635
TypeDefKind::Unknown => unreachable!(),
1636+
TypeDefKind::FixedSizeList(_, _) => todo!(),
16331637
}
16341638
if c_helpers_body_start == self.src.c_helpers.len() {
16351639
self.src.c_helpers.as_mut_string().truncate(c_helpers_start);
@@ -2101,6 +2105,7 @@ impl InterfaceGenerator<'_> {
21012105
TypeDefKind::Type(ty) => self.contains_droppable_borrow(ty),
21022106

21032107
TypeDefKind::Unknown => false,
2108+
TypeDefKind::FixedSizeList(_, _) => todo!(),
21042109
}
21052110
} else {
21062111
false
@@ -3182,6 +3187,7 @@ pub fn is_arg_by_pointer(resolve: &Resolve, ty: &Type) -> bool {
31823187
TypeDefKind::Stream(_) => todo!("is_arg_by_pointer for stream"),
31833188
TypeDefKind::Resource => todo!("is_arg_by_pointer for resource"),
31843189
TypeDefKind::Unknown => unreachable!(),
3190+
TypeDefKind::FixedSizeList(_, _) => todo!(),
31853191
},
31863192
Type::String => true,
31873193
_ => false,

crates/core/src/abi.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,7 @@ fn needs_post_return(resolve: &Resolve, ty: &Type) -> bool {
811811
TypeDefKind::Flags(_) | TypeDefKind::Enum(_) => false,
812812
TypeDefKind::Future(_) | TypeDefKind::Stream(_) => false,
813813
TypeDefKind::Unknown => unreachable!(),
814+
TypeDefKind::FixedSizeList(_, _) => false,
814815
},
815816

816817
Type::Bool
@@ -1355,6 +1356,7 @@ impl<'a, B: Bindgen> Generator<'a, B> {
13551356
});
13561357
}
13571358
TypeDefKind::Unknown => unreachable!(),
1359+
TypeDefKind::FixedSizeList(_, _) => todo!(),
13581360
},
13591361
}
13601362
}
@@ -1548,6 +1550,7 @@ impl<'a, B: Bindgen> Generator<'a, B> {
15481550
});
15491551
}
15501552
TypeDefKind::Unknown => unreachable!(),
1553+
TypeDefKind::FixedSizeList(_, _) => todo!(),
15511554
},
15521555
}
15531556
}
@@ -1708,6 +1711,7 @@ impl<'a, B: Bindgen> Generator<'a, B> {
17081711
}
17091712

17101713
TypeDefKind::Unknown => unreachable!(),
1714+
TypeDefKind::FixedSizeList(_, _) => todo!(),
17111715
},
17121716
}
17131717
}
@@ -1894,6 +1898,7 @@ impl<'a, B: Bindgen> Generator<'a, B> {
18941898
}
18951899

18961900
TypeDefKind::Unknown => unreachable!(),
1901+
TypeDefKind::FixedSizeList(_, _) => todo!(),
18971902
},
18981903
}
18991904
}
@@ -2076,6 +2081,7 @@ impl<'a, B: Bindgen> Generator<'a, B> {
20762081
TypeDefKind::Future(_) => todo!("read future from memory"),
20772082
TypeDefKind::Stream(_) => todo!("read stream from memory"),
20782083
TypeDefKind::Unknown => unreachable!(),
2084+
TypeDefKind::FixedSizeList(_, _) => todo!(),
20792085
},
20802086
}
20812087
}

crates/core/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ pub trait InterfaceGenerator<'a> {
180180
TypeDefKind::Stream(t) => self.type_stream(id, name, t, &ty.docs),
181181
TypeDefKind::Handle(_) => panic!("handle types do not require definition"),
182182
TypeDefKind::Unknown => unreachable!(),
183+
TypeDefKind::FixedSizeList(_, _) => todo!(),
183184
}
184185
}
185186
}
@@ -215,6 +216,7 @@ pub trait AnonymousTypeGenerator<'a> {
215216
TypeDefKind::Stream(s) => self.anonymous_type_stream(id, s, &ty.docs),
216217
TypeDefKind::Handle(handle) => self.anonymous_type_handle(id, handle, &ty.docs),
217218
TypeDefKind::Unknown => unreachable!(),
219+
TypeDefKind::FixedSizeList(_, _) => todo!(),
218220
}
219221
}
220222
}

crates/core/src/types.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ impl Types {
204204
info.has_own_handle = true;
205205
}
206206
TypeDefKind::Unknown => unreachable!(),
207+
TypeDefKind::FixedSizeList(_, _) => todo!(),
207208
}
208209
let prev = self.type_info.insert(ty, info);
209210
assert!(prev.is_none());

crates/markdown/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,7 @@ impl InterfaceGenerator<'_> {
419419
self.push_str(">");
420420
}
421421
TypeDefKind::Unknown => unreachable!(),
422+
TypeDefKind::FixedSizeList(_, _) => todo!(),
422423
}
423424
}
424425
}

0 commit comments

Comments
 (0)