Option<CoroutineKind>
This commit is contained in:
parent
97fdae1034
commit
13d284d177
@ -29,7 +29,7 @@ pub(crate) fn rewrite_closure(
|
||||
binder: &ast::ClosureBinder,
|
||||
constness: ast::Const,
|
||||
capture: ast::CaptureBy,
|
||||
coro_kind: &ast::CoroutineKind,
|
||||
coro_kind: &Option<ast::CoroutineKind>,
|
||||
movability: ast::Movability,
|
||||
fn_decl: &ast::FnDecl,
|
||||
body: &ast::Expr,
|
||||
@ -233,7 +233,7 @@ fn rewrite_closure_fn_decl(
|
||||
binder: &ast::ClosureBinder,
|
||||
constness: ast::Const,
|
||||
capture: ast::CaptureBy,
|
||||
coro_kind: &ast::CoroutineKind,
|
||||
coro_kind: &Option<ast::CoroutineKind>,
|
||||
movability: ast::Movability,
|
||||
fn_decl: &ast::FnDecl,
|
||||
body: &ast::Expr,
|
||||
@ -263,8 +263,13 @@ fn rewrite_closure_fn_decl(
|
||||
} else {
|
||||
""
|
||||
};
|
||||
let is_async = if coro_kind.is_async() { "async " } else { "" };
|
||||
let is_gen = if coro_kind.is_gen() { "gen " } else { "" };
|
||||
let (is_async, is_gen) = if let Some(coro_kind) = coro_kind {
|
||||
let is_async = if coro_kind.is_async() { "async " } else { "" };
|
||||
let is_gen = if coro_kind.is_gen() { "gen " } else { "" };
|
||||
(is_async, is_gen)
|
||||
} else {
|
||||
("", "")
|
||||
};
|
||||
let mover = if matches!(capture, ast::CaptureBy::Value { .. }) {
|
||||
"move "
|
||||
} else {
|
||||
|
@ -287,7 +287,7 @@ pub(crate) struct FnSig<'a> {
|
||||
decl: &'a ast::FnDecl,
|
||||
generics: &'a ast::Generics,
|
||||
ext: ast::Extern,
|
||||
coro_kind: Cow<'a, ast::CoroutineKind>,
|
||||
coro_kind: Cow<'a, Option<ast::CoroutineKind>>,
|
||||
constness: ast::Const,
|
||||
defaultness: ast::Defaultness,
|
||||
unsafety: ast::Unsafe,
|
||||
@ -343,7 +343,8 @@ fn to_str(&self, context: &RewriteContext<'_>) -> String {
|
||||
result.push_str(&*format_visibility(context, self.visibility));
|
||||
result.push_str(format_defaultness(self.defaultness));
|
||||
result.push_str(format_constness(self.constness));
|
||||
result.push_str(format_coro(&self.coro_kind));
|
||||
self.coro_kind
|
||||
.map(|coro_kind| result.push_str(format_coro(&coro_kind)));
|
||||
result.push_str(format_unsafety(self.unsafety));
|
||||
result.push_str(&format_extern(
|
||||
self.ext,
|
||||
|
@ -79,7 +79,6 @@ pub(crate) fn format_coro(coro_kind: &ast::CoroutineKind) -> &'static str {
|
||||
match coro_kind {
|
||||
ast::CoroutineKind::Async { .. } => "async ",
|
||||
ast::CoroutineKind::Gen { .. } => "gen ",
|
||||
ast::CoroutineKind::None => "",
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user