-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release 1.5] more backports for 1.5-rc2 #36755
Conversation
(cherry picked from commit ac57297)
Previously, `isempty(c::Channel)` would fall back to `iterate(c) === nothing`, which actually consumed a value from the channel. Instead, let's just define it in terms of its internal datastructures. (cherry picked from commit 4481500)
* 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 <[email protected]> (cherry picked from commit 94398d1)
The `Core.sizeof` function can take either a value or a type, which can be a bit confusing in the tfunc, because the tfunc operates on the types of the values passed to the builtin. In particular, we were incorrectly returning Const(16) (on 64bit) for sizeof_tfunc(UnionAll), because it was treating it the asme as `sizeof_tfunc(Const(UnionAll))`. Try to clean that up as well as fixing a similar confusion in the nothrow version of this function. Lastly, we had a similar fast path in codegen, which would try to inline the actual size for a constant datatype argument. For codegen, just rm that whole code path, since it should have no more information than inference and figuring it out in inference exposes strictly more optimization opportunities. Fixes #36710 (cherry picked from commit 004cb25)
(cherry picked from commit bd318e6)
e9d5c29
to
e326256
Compare
(cherry picked from commit de9c371)
Followup to #36739 (and currently built atop it), this restores the `pointer(::SubArray{<:Any,<:Any,<:Array,<:Tuple{Vararg{RangeIndex}}}, ::Tuple)` method that was removed in #36405. It does so, however, as a deprecated method, with the actual method being implemented on `(::SubArray{...}, ::CartesianIndex)`. The rationale here is because the `::Tuple` method was undocumented and only supported on that one _highly_ specific `SubArray` type. I am keeping this patch as minimal as possible for backporting; in the future I aim to support `Vararg{CartesianIndex, Integer}` locations to make this more `getindex`-y and move farther away from the conflation with memory offsets. (cherry picked from commit d9b7d7e)
The FreeBSD tester looks like it froze. I clicked rebuild. |
Not sure if this is the right place to ask, but is the goal to have 1.5 out for JuliaCon? |
That would be great, but we're not going to rush or slow down the release based on JuliaCon. The final 1.5 will be released when it's ready — i.e. after a release candidate has been out for a week or so without any release blockers. |
This is ready to go. |
Yes those all look fine. Go ahead and |
Wow, a lot of files were missing license headers. |
(cherry picked from commit 8825dab)
bb89fe9
to
98df0d5
Compare
Since the regex r"\bemacs" matches the cmd `emacs -nw`, the regex r"\bemacs\b.*\s(-nw|--no-window-system)\b" should be considered in the EDITOR_CALLBACKS list before it. Without this change, when JULIA_EDITOR="emacs -nw", julia tries to open the editor with run(...; wait=false) which causes the error: emacs: standard input is not a tty or for emacsclient: emacsclient: could not get terminal name emacsclient: error executing alternate editor "" (cherry picked from commit 6385107)
I just pushed #36346 here which is a bug fix, I hope this is ok. |
…ease-1.5 more backports for 1.5-rc2
…ease-1.5 more backports for 1.5-rc2
Includes:
#36738
#36727
#36725
#36715
#36657
#36650
#36641
#36610
#36679
#36739
#36757
#36763
#36785
#36781