projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[bindings] Handle ::-prefixed paths in a few places
[rust-lightning]
/
c-bindings-gen
/
src
/
types.rs
diff --git
a/c-bindings-gen/src/types.rs
b/c-bindings-gen/src/types.rs
index 9094987fae60416485510c14fe6efcbf9338edb1..14b2826f1e8b880824ebc8191398d771e64e6396 100644
(file)
--- a/
c-bindings-gen/src/types.rs
+++ b/
c-bindings-gen/src/types.rs
@@
-878,8
+878,9
@@
impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
} else { p_arg };
if p.leading_colon.is_some() {
} else { p_arg };
if p.leading_colon.is_some() {
- // At some point we may need this, but for now, its unused, so just fail.
- return None;
+ Some(p.segments.iter().enumerate().map(|(idx, seg)| {
+ format!("{}{}", if idx == 0 { "" } else { "::" }, seg.ident)
+ }).collect())
} else if let Some(id) = p.get_ident() {
self.maybe_resolve_ident(id)
} else {
} else if let Some(id) = p.get_ident() {
self.maybe_resolve_ident(id)
} else {
@@
-1158,7
+1159,7
@@
impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
ptr_for_ref, tupleconv, prefix, sliceconv, path_lookup, decl_lookup);
},
syn::Type::Path(p) => {
ptr_for_ref, tupleconv, prefix, sliceconv, path_lookup, decl_lookup);
},
syn::Type::Path(p) => {
- if p.qself.is_some()
|| p.path.leading_colon.is_some()
{
+ if p.qself.is_some() {
unimplemented!();
}
unimplemented!();
}
@@
-1471,7
+1472,7
@@
impl<'a, 'c: 'a> TypeResolver<'a, 'c> {
}
},
syn::Type::Path(p) => {
}
},
syn::Type::Path(p) => {
- if p.qself.is_some()
|| p.path.leading_colon.is_some()
{
+ if p.qself.is_some() {
unimplemented!();
}
let resolved_path = self.resolve_path(&p.path, generics);
unimplemented!();
}
let resolved_path = self.resolve_path(&p.path, generics);