What is bash/zsh "|&" syntax mean?

bash, zsh

Solution

From the bash manual:

command1 [ [| or |&] command2 …]

If `|&` is used, the standard error of `command1` is connected to `command2`’s standard input through the pipe; it is shorthand for `2>&1 |`. This implicit redirection of the standard error is performed after any redirections specified by the command.

In zsh too, `|&` is a shorthand for `2>&1 |`

Problem

What is `|&` syntax means? For example: ``` tree |& less ``` I see no difference with `tree |& less`.

Original source