New generics
This commit is contained in:
@@ -80,7 +80,7 @@ pub enum Prefix {
|
|||||||
Ref,
|
Ref,
|
||||||
RefMut,
|
RefMut,
|
||||||
Deref,
|
Deref,
|
||||||
New,
|
New(Option<Generics>),
|
||||||
Not,
|
Not,
|
||||||
Neg,
|
Neg,
|
||||||
RangeInclusive,
|
RangeInclusive,
|
||||||
|
|||||||
@@ -515,7 +515,7 @@ postfix = {
|
|||||||
deref_px = { "*" }
|
deref_px = { "*" }
|
||||||
mut_ref_px = { "&" ~ mutable }
|
mut_ref_px = { "&" ~ mutable }
|
||||||
ref_px = { "&" }
|
ref_px = { "&" }
|
||||||
new_px = { "new" }
|
new_px = { "new" ~ generics? }
|
||||||
not_px = { "!" }
|
not_px = { "!" }
|
||||||
neg_px = { "-" }
|
neg_px = { "-" }
|
||||||
range_start_inc_px = { "..=" }
|
range_start_inc_px = { "..=" }
|
||||||
|
|||||||
@@ -134,7 +134,12 @@ impl<'a> TryFrom<pest::iterators::Pair<'a, Rule>> for Prefix {
|
|||||||
Rule::deref_px => Self::Deref,
|
Rule::deref_px => Self::Deref,
|
||||||
Rule::mut_ref_px => Self::RefMut,
|
Rule::mut_ref_px => Self::RefMut,
|
||||||
Rule::ref_px => Self::Ref,
|
Rule::ref_px => Self::Ref,
|
||||||
Rule::new_px => Self::New,
|
Rule::new_px => Self::New(
|
||||||
|
pair.into_inner()
|
||||||
|
.next()
|
||||||
|
.map(|v| v.try_into().get())
|
||||||
|
.transpose()?,
|
||||||
|
),
|
||||||
Rule::not_px => Self::Not,
|
Rule::not_px => Self::Not,
|
||||||
Rule::neg_px => Self::Neg,
|
Rule::neg_px => Self::Neg,
|
||||||
Rule::range_start_inc_px => Self::RangeInclusive,
|
Rule::range_start_inc_px => Self::RangeInclusive,
|
||||||
|
|||||||
+9
-3
@@ -204,7 +204,7 @@ impl GetRust for Prefix {
|
|||||||
Self::Ref => "&",
|
Self::Ref => "&",
|
||||||
Self::RefMut => "&mut ",
|
Self::RefMut => "&mut ",
|
||||||
Self::Not => "!",
|
Self::Not => "!",
|
||||||
Self::New => "",
|
Self::New(_) => "",
|
||||||
Self::Neg => "-",
|
Self::Neg => "-",
|
||||||
Self::RangeInclusive => "..=",
|
Self::RangeInclusive => "..=",
|
||||||
Self::RangeExclusive => "..",
|
Self::RangeExclusive => "..",
|
||||||
@@ -249,8 +249,14 @@ impl GetRust for Option<&Vec<Prefix>> {
|
|||||||
.iter()
|
.iter()
|
||||||
.last()
|
.last()
|
||||||
.map(|p| match p {
|
.map(|p| match p {
|
||||||
Prefix::New => "::new",
|
Prefix::New(generics) => format!(
|
||||||
_ => "",
|
"::new{}",
|
||||||
|
generics
|
||||||
|
.as_ref()
|
||||||
|
.map(|v| format!("::{}", v.get_rust()))
|
||||||
|
.unwrap_or_default(),
|
||||||
|
),
|
||||||
|
_ => String::new(),
|
||||||
})
|
})
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.to_string()
|
.to_string()
|
||||||
|
|||||||
Reference in New Issue
Block a user