Skip to content

Commit e6bd6c2

Browse files
committedMay 29, 2024·
Use parenthetical notation for Fn traits
Always use the `Fn(T) -> R` format when printing closure traits instead of `Fn<(T,), Output = R>`. Fix #67100: ``` error[E0277]: expected a `Fn()` closure, found `F` --> file.rs:6:13 | 6 | call_fn(f) | ------- ^ expected an `Fn()` closure, found `F` | | | required by a bound introduced by this call | = note: wrap the `F` in a closure with no arguments: `|| { /* code */ }` note: required by a bound in `call_fn` --> file.rs:1:15 | 1 | fn call_fn<F: Fn() -> ()>(f: &F) { | ^^^^^^^^^^ required by this bound in `call_fn` help: consider further restricting this bound | 5 | fn call_any<F: std::any::Any + Fn()>(f: &F) { | ++++++ ```
1 parent 8c4db85 commit e6bd6c2

File tree

43 files changed

+89
-88
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+89
-88
lines changed
 

‎compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1362,7 +1362,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
13621362
match *predicate.self_ty().kind() {
13631363
ty::Param(param_ty) => Ok((
13641364
generics.type_param(param_ty, tcx),
1365-
predicate.trait_ref.print_only_trait_path().to_string(),
1365+
predicate.trait_ref.print_trait_sugared().to_string(),
13661366
)),
13671367
_ => Err(()),
13681368
}

‎compiler/rustc_const_eval/src/check_consts/ops.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ impl<'tcx> NonConstOp<'tcx> for FnCallNonConst<'tcx> {
113113
if let Some(generics) = tcx.hir_node_by_def_id(caller).generics() {
114114
let constraint = with_no_trimmed_paths!(format!(
115115
"~const {}",
116-
trait_ref.print_only_trait_path()
116+
trait_ref.print_trait_sugared(),
117117
));
118118
suggest_constraining_type_param(
119119
tcx,

0 commit comments

Comments
 (0)