Remove Pin UniquePtr support
diff --git a/syntax/impls.rs b/syntax/impls.rs
index c11c386..a9c48c3 100644
--- a/syntax/impls.rs
+++ b/syntax/impls.rs
@@ -81,36 +81,29 @@
impl PartialEq for Ty1 {
fn eq(&self, other: &Ty1) -> bool {
let Ty1 {
- pinned,
name,
langle: _,
inner,
rangle: _,
- pin_tokens: _,
} = self;
let Ty1 {
- pinned: pinned2,
name: name2,
langle: _,
inner: inner2,
rangle: _,
- pin_tokens: _,
} = other;
- pinned == pinned2 && name == name2 && inner == inner2
+ name == name2 && inner == inner2
}
}
impl Hash for Ty1 {
fn hash<H: Hasher>(&self, state: &mut H) {
let Ty1 {
- pinned,
name,
langle: _,
inner,
rangle: _,
- pin_tokens: _,
} = self;
- pinned.hash(state);
name.hash(state);
inner.hash(state);
}
diff --git a/syntax/mod.rs b/syntax/mod.rs
index 131639f..2a3790c 100644
--- a/syntax/mod.rs
+++ b/syntax/mod.rs
@@ -168,12 +168,10 @@
}
pub struct Ty1 {
- pub pinned: bool,
pub name: Ident,
pub langle: Token![<],
pub inner: Type,
pub rangle: Token![>],
- pub pin_tokens: Option<(kw::Pin, Token![<], Token![>])>,
}
pub struct Ref {
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 5e10116..ec89cbb 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -666,48 +666,40 @@
if let GenericArgument::Type(arg) = &generic.args[0] {
let inner = parse_type(arg, namespace)?;
return Ok(Type::UniquePtr(Box::new(Ty1 {
- pinned: false,
name: ident,
langle: generic.lt_token,
inner,
rangle: generic.gt_token,
- pin_tokens: None,
})));
}
} else if ident == "CxxVector" && generic.args.len() == 1 {
if let GenericArgument::Type(arg) = &generic.args[0] {
let inner = parse_type(arg, namespace)?;
return Ok(Type::CxxVector(Box::new(Ty1 {
- pinned: false,
name: ident,
langle: generic.lt_token,
inner,
rangle: generic.gt_token,
- pin_tokens: None,
})));
}
} else if ident == "Box" && generic.args.len() == 1 {
if let GenericArgument::Type(arg) = &generic.args[0] {
let inner = parse_type(arg, namespace)?;
return Ok(Type::RustBox(Box::new(Ty1 {
- pinned: false,
name: ident,
langle: generic.lt_token,
inner,
rangle: generic.gt_token,
- pin_tokens: None,
})));
}
} else if ident == "Vec" && generic.args.len() == 1 {
if let GenericArgument::Type(arg) = &generic.args[0] {
let inner = parse_type(arg, namespace)?;
return Ok(Type::RustVec(Box::new(Ty1 {
- pinned: false,
name: ident,
langle: generic.lt_token,
inner,
rangle: generic.gt_token,
- pin_tokens: None,
})));
}
} else if ident == "Pin" && generic.args.len() == 1 {
@@ -719,11 +711,6 @@
inner.pin_tokens =
Some((pin_token, generic.lt_token, generic.gt_token));
return Ok(Type::Ref(inner));
- } else if let Type::UniquePtr(mut inner) = inner {
- inner.pinned = true;
- inner.pin_tokens =
- Some((pin_token, generic.lt_token, generic.gt_token));
- return Ok(Type::UniquePtr(inner));
}
}
}
diff --git a/syntax/tokens.rs b/syntax/tokens.rs
index af8088d..40ab723 100644
--- a/syntax/tokens.rs
+++ b/syntax/tokens.rs
@@ -40,10 +40,6 @@
fn to_tokens(&self, tokens: &mut TokenStream) {
let span = self.name.span();
let name = self.name.to_string();
- if let Some((pin, langle, _rangle)) = self.pin_tokens {
- tokens.extend(quote_spanned!(pin.span=> ::std::pin::Pin));
- langle.to_tokens(tokens);
- }
if let "UniquePtr" | "CxxVector" = name.as_str() {
tokens.extend(quote_spanned!(span=> ::cxx::));
} else if name == "Vec" {
@@ -53,9 +49,6 @@
self.langle.to_tokens(tokens);
self.inner.to_tokens(tokens);
self.rangle.to_tokens(tokens);
- if let Some((_pin, _langle, rangle)) = self.pin_tokens {
- rangle.to_tokens(tokens);
- }
}
}