Stop transpose(A) \ lu(B)' from overwriting A (#36657)
* Stop transpose(A) \ lu(B)' from overwriting `A`
This fixes the following bug I just found:
```julia
julia> A = randn(5,5)
5×5 Array{Float64,2}:
0.485776 1.29655 0.0790172 0.66021 -1.49472
0.971676 -1.01382 0.630476 0.479027 -0.843428
-0.264609 0.392383 0.646729 0.510696 0.34913
-0.795944 -2.47709 -1.81052 -1.0947 -0.30381
-0.938873 2.16395 -1.33484 -0.745461 1.43709
julia> transpose(A) / lu(randn(5,5))' # should not change A
5×5 Adjoint{Float64,Array{Float64,2}}:
14.36 11.9797 -7.32563 1.87016 -16.2731
-18.4415 -13.7036 10.6455 -2.47396 19.9999
8.0401 8.31723 -5.16714 2.13261 -9.637
4.19849 3.9865 -1.98478 0.714778 -4.62445
-5.36059 -2.60991 0.917052 0.290281 4.62547
julia> A # but does!
5×5 Array{Float64,2}:
14.36 -18.4415 8.0401 4.19849 -5.36059
11.9797 -13.7036 8.31723 3.9865 -2.60991
-7.32563 10.6455 -5.16714 -1.98478 0.917052
1.87016 -2.47396 2.13261 0.714778 0.290281
-16.2731 19.9999 -9.637 -4.62445 4.62547
```
Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de>
(cherry picked from commit 94398d1183b34fe37e63111165a850c75df94f5e)