Skip to main content

prefer-void-callback

effort: 2m
has auto-fix
starter+

Suggests using the VoidCallback typedef instead of void Function().

Example

❌ Bad:

// LINT: Prefer using VoidCallback instead of void Function().
void fn(List<void Function()> _callbacks) {
// LINT: Prefer using VoidCallback instead of void Function().
final void Function()? onPressed = enabled ? () {} : null;

// LINT: Prefer using VoidCallback instead of void Function().
void Function()? onTap;

// LINT: Prefer using VoidCallback instead of void Function().
final List<void Function()> callbacks = _callbacks;

// LINT: Prefer using VoidCallback instead of void Function().
for (final void Function() callback in callbacks) {
callback();
}
}

✅ Good:

void fn(List<VoidCallback> _callbacks) {
final VoidCallback? onPressed = enabled ? () {} : null;

VoidCallback? onTap;

final List<VoidCallback> callbacks = _callbacks;

for (final VoidCallback callback in callbacks) {
callback();
}
}