Skip to content

Single expression closure without parameters #3605

Open
@mkurnikov

Description

@mkurnikov

Before formatting:

vm.get_method_or_type_error(
    obj.clone(),
    "__getitem__",
    || format!("'{}' object is not iterable", obj.class().name)
)?;

After formatting:

vm.get_method_or_type_error(obj.clone(), "__getitem__", || {
    format!("'{}' object is not iterable", obj.class().name)
})?;

Maybe lazy string (empty closure params and format! call inside) and other single expression closures should not be split by a new line, and instead being considered as an atomic element?

If I add more arguments, so that a list would be formatted as arg-per-line anyway, it behaves exactly like that and is more readable in my opinion

vm.get_method_or_type_error(
    obj.clone(),
    obj.clone(),
    obj.clone(),
    "__getitem__",
    || format!("hello, world1111111111111112222222222, 2222222221111111111111222"),
)?;

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions