// Parent is the first item in the chain, e.g., `foo` in `foo.bar.baz()`.
// Root is the parent plus any other chain items placed on the first line to
// avoid an orphan. E.g.,
- // ```
+ // ```ignore
// foo.bar
// .baz()
// ```
// know whether 'overflowing' the last child make a better formatting:
//
// A chain with overflowing the last child:
- // ```
+ // ```ignore
// parent.child1.child2.last_child(
// a,
// b,
// ```
//
// A chain without overflowing the last child (in vertical layout):
- // ```
+ // ```ignore
// parent
// .child1
// .child2
//
// In particular, overflowing is effective when the last child is a method with a multi-lined
// block-like argument (e.g. closure):
- // ```
+ // ```ignore
// parent.child1.child2.last_child(|a, b, c| {
// let x = foo(a, b, c);
// let y = bar(a, b, c);