Is there no hope of fixing a < b & c < d before v1.0?

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]
1 Like