It gives an answer, but I’m not sure it does what you think it does.

b \= A is equivalent to b = b \ A. This means two things:

It is essentially equivalent to pinv(b) * A — that is, you are dividing A by b, not b by A. Did you want b' / A instead, i.e. b^T A^{-1}?

It is not in-place. It first computes b \ A, allocating a new row vector for the result, and then assigns the result to b (discarding the original column vector).

Are you sure about (1.)? pinv(b) * A gives me a DimensionMismatch("A has dimensions (3,1) but B has dimensions (3,3)"). I assumed that was equivalent to b = A \ b, which dimensionally makes sense.

julia> A = rand(3, 3); b = rand(3);
julia> pinv(b)*A
1×3 transpose(::Vector{Float64}) with eltype Float64:
0.998627 1.23721 1.55637
julia> b \ A
1×3 transpose(::Vector{Float64}) with eltype Float64:
0.998627 1.23721 1.55637

I think you were running this after you ran b \= A, which replaced b (a column vector) with the row vector b \ A. And using a row vector, e.g. pinv(b')*A, indeed gives a dimension-mismatch error, because this doesn’t work with the definition of the pseudo-inverse.