projects
/
ldk-c-bindings
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3199a03
)
Correctly convert Option<Generic<Inner>> to C
author
Matt Corallo
<git@bluematt.me>
Tue, 12 Oct 2021 02:09:03 +0000
(
02:09
+0000)
committer
Matt Corallo
<git@bluematt.me>
Sat, 16 Oct 2021 02:30:00 +0000
(
02:30
+0000)
c-bindings-gen/src/types.rs
patch
|
blob
|
history
diff --git
a/c-bindings-gen/src/types.rs
b/c-bindings-gen/src/types.rs
index 9220dd1256ce21d7c5c58a4e45aa1501a05adc2b..f87e2a075e99932d6865be53347fe04fd1a3f628 100644
(file)
--- a/
c-bindings-gen/src/types.rs
+++ b/
c-bindings-gen/src/types.rs
@@
-1374,10
+1374,10
@@
impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
], " }", ContainerPrefixLocation::OutsideConv));
}
} else if self.is_primitive(&inner_path) || self.c_type_from_path(&inner_path, false, false).is_none() {
], " }", ContainerPrefixLocation::OutsideConv));
}
} else if self.is_primitive(&inner_path) || self.c_type_from_path(&inner_path, false, false).is_none() {
- let inner_name =
inner_path.rsplit("::").next(
).unwrap();
+ let inner_name =
self.get_c_mangled_container_type(vec![single_contained.unwrap()], generics, "Option"
).unwrap();
return Some(("if ", vec![
return Some(("if ", vec![
- (format!(".is_none() {{ {}::
COption_{}Z::None }} else {{ {}::COption_{}Z
::Some(",
-
Self::generated_container_path(), inner_name, Self::generated_container_path()
, inner_name),
+ (format!(".is_none() {{ {}::
None }} else {{ {}
::Some(",
+
inner_name
, inner_name),
format!("{}.unwrap()", var_access))
], ") }", ContainerPrefixLocation::PerConv));
} else {
format!("{}.unwrap()", var_access))
], ") }", ContainerPrefixLocation::PerConv));
} else {