diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d1701f90d7..fdb671ad4c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,13 @@ [bytecount#92]: https://github.com/llogiq/bytecount/pull/92 [bytecount#93]: https://github.com/llogiq/bytecount/pull/93 +- Output correct syntax for type ascription builtin [#6159](https://github.com/rust-lang/rustfmt/issues/6159) + ```rust + fn main() { + builtin # type_ascribe(10, usize) + } + ``` + ## [1.7.0] 2023-10-22 ### Fixed diff --git a/src/expr.rs b/src/expr.rs index f2fb2b4a83a..8266f95fd70 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -263,14 +263,6 @@ pub(crate) fn format_expr( shape, SeparatorPlace::Front, ), - ast::ExprKind::Type(ref expr, ref ty) => rewrite_pair( - &**expr, - &**ty, - PairParts::infix(": "), - context, - shape, - SeparatorPlace::Back, - ), ast::ExprKind::Index(ref expr, ref index, _) => { rewrite_index(&**expr, &**index, context, shape) } @@ -412,6 +404,7 @@ fn needs_space_after_range(rhs: &ast::Expr) -> bool { } ast::ExprKind::Underscore => Some("_".to_owned()), ast::ExprKind::FormatArgs(..) + | ast::ExprKind::Type(..) | ast::ExprKind::IncludedBytes(..) | ast::ExprKind::OffsetOf(..) => { // These don't normally occur in the AST because macros aren't expanded. However, diff --git a/tests/target/issue_6159.rs b/tests/target/issue_6159.rs new file mode 100644 index 00000000000..49fd539d3ef --- /dev/null +++ b/tests/target/issue_6159.rs @@ -0,0 +1,3 @@ +fn main() { + builtin # type_ascribe(10, usize) +}