In 0.6:
julia> false .&& [1,2,3]
ERROR: unsupported or misplaced expression &
julia> @. false && [1, 2, 3]
false
julia> broadcast((x,y)->x&&y, false, [1,2,3])
3-element BitArray{1}:
false
false
false
In 0.7:
julia> false .&& [1,2,3]
ERROR: unsupported or misplaced expression &
julia> @. false && [1, 2, 3]
┌ Warning: using && expressions in @. is deprecated; in the future it will
│ become elementwise. Break the expression into smaller parts instead.
│ caller = ip:0x0
└ @ Core :-1
false
julia> broadcast((x,y)->x&&y, false, [1,2,3])
3-element BitArray{1}:
false
false
false
When && becomes dottable, folks will expect @. to dot it. In 1.0 or 1.1 we can make it behave like the broadcast of the anonymous function.
Edit: Maybe this is a better example:
@. rand(Bool) || [true, false, true]