}
}
+#[inline]
+pub(crate) fn format_constness_right(constness: ast::Const) -> &'static str {
+ match constness {
+ ast::Const::Yes(..) => " const",
+ ast::Const::No => "",
+ }
+}
+
#[inline]
pub(crate) fn format_defaultness(defaultness: ast::Defaultness) -> &'static str {
match defaultness {
#[inline]
pub(crate) fn semicolon_for_expr(context: &RewriteContext<'_>, expr: &ast::Expr) -> bool {
+ // Never try to insert semicolons on expressions when we're inside
+ // a macro definition - this can prevent the macro from compiling
+ // when used in expression position
+ if context.is_macro_def {
+ return false;
+ }
+
match expr.kind {
ast::ExprKind::Ret(..) | ast::ExprKind::Continue(..) | ast::ExprKind::Break(..) => {
context.config.trailing_semicolon()
| ast::ExprKind::While(..)
| ast::ExprKind::If(..)
| ast::ExprKind::Block(..)
+ | ast::ExprKind::ConstBlock(..)
| ast::ExprKind::Async(..)
| ast::ExprKind::Loop(..)
| ast::ExprKind::ForLoop(..)
| ast::ExprKind::Ret(..)
| ast::ExprKind::Tup(..)
| ast::ExprKind::Type(..)
- | ast::ExprKind::Yield(None) => false,
+ | ast::ExprKind::Yield(None)
+ | ast::ExprKind::Underscore => false,
}
}