Skip to content

Commit 154ea5d

Browse files
committed
add missing _has() methods for capability fields
1 parent 90f387b commit 154ea5d

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

capnpc/src/codegen.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,6 +1348,7 @@ fn generate_haser(
13481348
| type_::Data(())
13491349
| type_::List(_)
13501350
| type_::Struct(_)
1351+
| type_::Interface(_)
13511352
| type_::AnyPointer(_) => {
13521353
if is_reader {
13531354
interior.push(Line(format!(

capnpc/test/test.capnp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ struct TestAllTypes {
129129
dataField @13 : Data;
130130
structField @14 : TestAllTypes;
131131
enumField @15 : TestEnum;
132-
interfaceField @16 : Void; # TODO
132+
interfaceField @16 : EmptyInterface;
133133

134134
voidList @17 : List(Void);
135135
boolList @18 : List(Bool);
@@ -147,7 +147,7 @@ struct TestAllTypes {
147147
dataList @30 : List(Data);
148148
structList @31 : List(TestAllTypes);
149149
enumList @32 : List(TestEnum);
150-
interfaceList @33 : List(Void); # TODO
150+
interfaceList @33 : List(EmptyInterface);
151151
}
152152

153153
struct TestDefaults {

capnpc/test/test_util.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ check_test_message_impl(($mod:ident::$typ:ident) => (
199199
.get_text_field().unwrap());
200200
}
201201
assert!(Ok(TestEnum::Baz) == sub_reader.reborrow().get_enum_field());
202+
assert_eq!(false, sub_reader.reborrow().has_interface_field());
202203
assert_eq!(3, sub_reader.reborrow().get_void_list().unwrap().len());
203204

204205
{

0 commit comments

Comments
 (0)