Skip to content
Snippets Groups Projects
  1. Nov 26, 2024
  2. Nov 12, 2024
    • Kristoffer Carlsson's avatar
      Backports for Julia 1.10.7 (#56381) · 9ee861f2
      Kristoffer Carlsson authored
      Backported PRs:
      - [x] #50832 <!-- Subtype: bug fix for bounds with deeper covariant var
      -->
      - [x] #51782 <!-- Fix remove-addrspaces pass in the presence of globals
      with addrspaces -->
      - [x] #55720 <!-- Fix `pkgdir` for extensions -->
      - [x] #55773 <!-- Add compat entry for `Base.donotdelete` -->
      - [x] #55886 <!-- irrationals: restrict assume effects annotations to
      known types -->
      - [x] #55867 <!-- update `hash` doc string: `widen` not required any
      more -->
      - [x] #56148 <!-- Make loading work when stdlib deps are missing in the
      manifest -->
      - [x] #55870 <!-- fix infinite recursion in `promote_type` for
      `Irrational` -->
      - [x] #56252 <!-- REPL: fix brace detection when ' is used for transpose
      -->
      - [x] #56264 <!-- inference: fix inference error from constructing
      invalid `TypeVar` -->
      - [x] #56276 <!-- move time_imports and trace_* macros to Base but
      remain owned by InteractiveUtils -->
      - [x] #56254 <!-- REPL: don't complete str and cmd macros when the input
      matches the internal name like `r_` to `r"` -->
      - [x] #56280 <!-- Fix trampoline warning on x86 as well -->
      - [x] #56304 <!-- typeintersect: more fastpath to skip intersect under
      circular env -->
      - [x] #56306 <!-- InteractiveUtils.jl: fixes issue where subtypes
      resolves bindings and causes deprecation warnings -->
      - [x] #42080 <!-- recommend explicit `using Foo: Foo, ...` in package
      code (was: "using considered harmful") -->
      - [x] #56441 <!-- Profile: mention `kill -s SIGUSR1 julia_pid` for Linux
      -->
      - [x] #56511 <!-- The `info` in LAPACK calls should be a Ref instead of
      a Ptr -->
      - [x] #55052 <!-- Fix `(l/r)mul!` with `Diagonal`/`Bidiagonal` -->
      - [x] #52694 <!-- Reinstate similar for AbstractQ for backward
      compatibility -->
      9ee861f2
  3. Nov 11, 2024
  4. Oct 31, 2024
  5. Oct 30, 2024
    • Kristoffer Carlsson's avatar
      bb862590
    • Cody Tapscott's avatar
      Fix handling of virtual exit node in `PostDomTree` (#53739) · a03c5cd4
      Cody Tapscott authored
      This is an alternative to https://github.com/JuliaLang/julia/pull/53642
      
      The `dom_edges()` for an exit block in the CFG are empty when computing
      the PostDomTree so the loop below this may not actually run. In that
      case, the right semidominator is the ancestor from the DFSTree, which is
      the "virtual" -1 block.
      
      This resolves half of the issue in
      https://github.com/JuliaLang/julia/issues/53613:
      ```julia
      julia> let code = Any[
                     # block 1
                     GotoIfNot(Argument(2), 3),
                     # block 2
                     ReturnNode(Argument(3)),
                     # block 3 (we should visit this block)
                     Expr(:call, throw, "potential throw"),
                     ReturnNode(), # unreachable
                 ]
                 ir = make_ircode(code; slottypes=Any[Any,Bool,Bool])
                 visited = BitSet()
                 @test !Core.Compiler.visit_conditional_successors(CC.LazyPostDomtree(ir), ir, #=bb=#1) do succ::Int
                     push!(visited, succ)
                     return false
                 end
                 @test 2 ∈ visited
                 @test 3 ∈ visited
             end
      Test Passed
      ```
      
      This needs some tests (esp. since I don't think we have any DomTree
      tests at all right now), but otherwise should be good to go.
      a03c5cd4
    • KristofferC's avatar
      bump Pkg to latest 1.10 · 27a01434
      KristofferC authored
      27a01434
    • Ian Butterworth's avatar
      d830b454
    • Ian Butterworth's avatar
      Make loading work when stdlib deps are missing in the manifest (#56148) · b2be8090
      Ian Butterworth authored
      Closes https://github.com/JuliaLang/julia/issues/56109
      
      Simulating a bad manifest by having `LibGit2_jll` missing as a dep of
      `LibGit2` in my default env, say because the manifest was generated by a
      different julia version or different master julia commit.
      
      ```
      julia> using Revise
      
      julia>
      ```
      i.e.
      ```
      % JULIA_DEBUG=loading ./julia --startup-file=no
      julia> using Revise
      ...
      ┌ Debug: Stdlib LibGit2 [76f85450-5226-5b5a-8eaa-529ad045b433] is trying to load `LibGit2_jll`
      │ which is not listed as a dep in the load path manifests, so resorting to search
      │ in the stdlib Project.tomls for true deps
      └ @ Base loading.jl:387
      ┌ Debug: LibGit2 [76f85450-5226-5b5a-8eaa-529ad045b433] indeed depends on LibGit2_jll in project /Users/ian/Documents/GitHub/julia/usr/share/julia/stdlib/v1.12/LibGit2/Project.toml
      └ @ Base loading.jl:395
      ...
      
      julia>
      ```
      
      ```
      julia> using Revise
      Info Given Revise was explicitly requested, output will be shown live
      ERROR: LoadError: ArgumentError: Package LibGit2 does not have LibGit2_jll in its dependencies:
      - Note that the following manifests in the load path were resolved with a potentially
        different DEV version of the current version, which may be the cause of the error.
        Try to re-resolve them in the current version, or consider deleting them if that fails:
          /Users/ian/.julia/environments/v1.12/Manifest.toml
      - You may have a partially installed environment. Try `Pkg.instantiate()`
        to ensure all packages in the environment are installed.
      - Or, if you have LibGit2 checked out for development and have
        added LibGit2_jll as a dependency but haven't updated your primary
        environment's manifest file, try `Pkg.resolve()`.
      - Otherwise you may need to report an issue with LibGit2
      ...
      ```
      
      (cherry picked from commit b02d6715)
      b2be8090
    • Ian Butterworth's avatar
      REPL: fix brace detection when ' is used for transpose (#56252) · fe891d16
      Ian Butterworth authored
      (cherry picked from commit 1c67d0cf)
      fe891d16
    • Ian Butterworth's avatar
      move time_imports and trace_* macros to Base but remain owned by InteractiveUtils (#56276) · 2454b249
      Ian Butterworth authored
      This way all packages can be timed including InteractiveUtils and its
      deps (Base64, JuliaSyntaxHighlighting, Markdown, StyledStrings).
      
      With this PR
      ```
      % ./julia --start=no -e "@time Base.@time_imports using REPL"
           41.8 ms  StyledStrings
                     ┌ 0.1 ms JuliaSyntaxHighlighting.__init__()
           14.2 ms  JuliaSyntaxHighlighting
            1.0 ms  Base64
                     ┌ 0.0 ms Markdown.__init__()
            9.6 ms  Markdown
            2.2 ms  InteractiveUtils
            0.3 ms  Unicode
                     ┌ 0.0 ms REPL.REPLCompletions.__init__()
                     ├ 0.0 ms REPL.__init__()
           95.7 ms  REPL
        0.225907 seconds (290.95 k allocations: 16.761 MiB)
      ```
      
      Otherwise
      ```
      % ./julia --start=no -e "using InteractiveUtils; @time @time_imports using REPL"
            0.5 ms  Unicode
                     ┌ 0.0 ms REPL.REPLCompletions.__init__()
                     ├ 0.1 ms REPL.__init__()
          107.5 ms  REPL
        0.127016 seconds (164.18 k allocations: 9.199 MiB)
      ```
      
      Also the `@trace_compile` and `@trace_dispatch` macros for the same
      reason.
      
      (cherry picked from commit ab22f982)
      2454b249
    • David Gleich's avatar
      InteractiveUtils.jl: fixes issue where subtypes resolves bindings and causes... · f34528d5
      David Gleich authored
      InteractiveUtils.jl: fixes issue where subtypes resolves bindings and causes deprecation warnings  (#56306)
      
      The current version of `subtypes` will throw deprecation errors even if
      no one is using the deprecated bindings.
      
      A similar bug was fixed in Aqua.jl -
      https://github.com/JuliaTesting/Aqua.jl/pull/89/files
      
      See discussion here:
      
      - https://github.com/JuliaIO/ImageMagick.jl/issues/235 (for identifying
      the problem)
      - https://github.com/simonster/Reexport.jl/issues/42 (for pointing to
      the issue in Aqua.jl)
      - https://github.com/JuliaTesting/Aqua.jl/pull/89/files (for the fix in
      Aqua.jl)
      
      This adds the `isbindingresolved` test to the `subtypes` function to
      avoid throwing deprecation warnings. It also adds a test to check that
      this doesn't happen.
      
      ---
      
      On the current master branch (before the fix), the added test shows:
      
      ```
      WARNING: using deprecated binding InternalModule.MyOldType in OuterModule.
      , use MyType instead.
      Subtypes and deprecations: Test Failed at /home/dgleich/devextern/julia/usr/share/julia/stdlib/v1.12/Test/src/Test.jl:932
        Expression: isempty(stderr_content)
         Evaluated: isempty("WARNING: using deprecated binding InternalModule.MyOldType in OuterModule.\n, use MyType instead.\n")
      Test Summary:             | Fail  Total  Time
      Subtypes and deprecations |    1      1  2.8s
      ERROR: LoadError: Some tests did not pass: 0 passed, 1 failed, 0 errored, 0 broken.
      in expression starting at /home/dgleich/devextern/julia/stdlib/InteractiveUtils/test/runtests.jl:841
      ERROR: Package InteractiveUtils errored during testing
      ```
      
      ---
      
      Using the results of this pull request:
      
      ```
      @test_nowarn subtypes(Integer);
      ```
      
      passes without error. The other tests pass too.
      
      (cherry picked from commit 20f933ae)
      f34528d5
    • N5N3's avatar
      typeintersect: more fastpath to skip intersect under circular env (#56304) · aa58f67e
      N5N3 authored
      fix #56040
      
      (cherry picked from commit 53ffe563)
      aa58f67e
    • Shuhei Kadowaki's avatar
      inference: fix inference error from constructing invalid `TypeVar` (#56264) · d48243f3
      Shuhei Kadowaki authored
      - fixes JuliaLang/julia#56248
      
      (cherry picked from commit 08d11d04)
      d48243f3
    • Lilith Orion Hafner's avatar
      Add compat entry for `Base.donotdelete` (#55773) · 0cf1432f
      Lilith Orion Hafner authored
      (cherry picked from commit 346f38bc)
      0cf1432f
  6. Oct 29, 2024
  7. Oct 28, 2024
  8. Oct 22, 2024
    • Kristoffer Carlsson's avatar
      Backports for 1.10.6 (#55746) · 262daad9
      Kristoffer Carlsson authored
      Backported PRs:
      - [x] #51755 <!-- ASAN fixes. -->
      - [x] #55329 <!-- mapreduce: don't inbounds unknown functions -->
      - [x] #55365 <!-- ml-matches: ensure all methods are included -->
      - [x] #55483 <!-- fix hierarchy level of "API reference" in `Dates`
      documentation -->
      - [x] #55268 <!-- simplify complex atanh and remove singularity
      perturbation -->
      - [x] #55504 <!-- Update symmetric docstring to reflect the type of uplo
      -->
      - [x] #55524 <!-- Set `.jl` sources as read-only during installation -->
      - [x] #41244 <!-- Fix shell `cd` error when working dir has been deleted
      -->
      - [x] #55829 <!-- [Dates] Make test more robust against non-UTC
      timezones -->
      - [x] #55641 <!-- fall back to slower stat filesize if optimized
      filesize fails -->
      - [x] #55849 <!-- Mmap: fix grow! for non file IOs -->
      - [x] #55945 <!-- Fix logic in `?` docstring example -->
      - [x] #55743 <!-- doc: heap snapshot viewing -->
      - [x] #56023 <!-- Sockets: Warn when local network access not granted.
      -->
      - [x] #54276 <!-- Fix solve for complex `Hermitian` with non-vanishing
      imaginary part on diagonal -->
      - [x] #54669 <!-- Improve error message in inplace transpose -->
      - [x] #55295 <!-- LAPACK: Aggressive constprop to concretely infer
      syev!/syevd! -->
      - [x] #55303 <!-- avoid overflowing show for OffsetArrays around typemax
      -->
      - [x] #55342 <!-- Ensure bidiagonal setindex! does not read indices in
      error message -->
      - [x] #55507 <!-- Fix fast getptls ccall lowering. -->
      - [x] #55522 <!-- Fix tr for Symmetric/Hermitian block matrices -->
      - [x] #55854 <!-- :robot: [master] Bump the Downloads stdlib from 1061ecc to
      89d3c7d -->
      - [x] #55863 <!-- Update TaskLocalRNG docstring according to #49110 -->
      - [x] #55567 <!-- Initialize threadpools correctly during sysimg build
      -->
      - [x] #55506 <!-- Fix indexing in _mapreducedim for OffsetArrays -->
      - [x] #54737 <!-- LazyString in interpolated error messages involving
      types -->
      262daad9
  9. Oct 18, 2024
  10. Oct 16, 2024
  11. Oct 09, 2024
    • Jishnu Bhattacharya's avatar
      LazyString in interpolated error messages involving types (#54737) · 55a30d5f
      Jishnu Bhattacharya authored
      These are often badly inferred, e.g. in:
      ```julia
      julia> @report_opt 2//2
      ┌ Warning: skipping (::Base.var"#show_bound#661")(io::IO, b) @ Base show.jl:2777 to avoid parsing too much code
      └ @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:1092
      ┌ Warning: skipping (::Base.var"#show_bound#661")(io::IO, b) @ Base show.jl:2777 to avoid parsing too much code
      └ @ Revise ~/.julia/packages/Revise/bAgL0/src/packagedef.jl:1092
      ═════ 32 possible errors found ═════
      ┌ //(n::Int64, d::Int64) @ Base ./rational.jl:84
      │┌ Rational(n::Int64, d::Int64) @ Base ./rational.jl:48
      ││┌ Rational{Int64}(num::Int64, den::Int64) @ Base ./rational.jl:32
      │││┌ __throw_rational_argerror_zero(T::Type{Int64}) @ Base ./rational.jl:30
      ││││┌ string(::String, ::Type{Int64}, ::String, ::Type{Int64}, ::String) @ Base ./strings/io.jl:189
      │││││┌ print_to_string(::String, ::Type{Int64}, ::String, ::Type{Int64}, ::String) @ Base ./strings/io.jl:148
      ││││││┌ print(io::IOBuffer, x::DataType) @ Base ./strings/io.jl:35
      │││││││┌ show(io::IOBuffer, x::DataType) @ Base ./show.jl:970
      ││││││││┌ _show_type(io::IOBuffer, x::Type) @ Base ./show.jl:975
      │││││││││┌ show_typealias(io::IOBuffer, x::Type) @ Base ./show.jl:810
      ││││││││││┌ make_typealias(x::Type) @ Base ./show.jl:620
      │││││││││││┌ modulesof!(s::Set{Module}, x::Type) @ Base ./show.jl:595
      ││││││││││││ runtime dispatch detected: Base.modulesof!(s::Set{Module}, %20::Any)::Any
      │││││││││││└────────────────────
      │││││││││││┌ modulesof!(s::Set{Module}, x::Type) @ Base ./show.jl:596
      ││││││││││││ runtime dispatch detected: Base.modulesof!(s::Set{Module}, %34::Any)::Any
      │││││││││││└────────────────────
      │││││││││││┌ modulesof!(s::Set{Module}, x::TypeVar) @ Base ./show.jl:589
      ││││││││││││ runtime dispatch detected: Base.modulesof!(s::Set{Module}, %1::Any)::Set{Module}
      │││││││││││└────────────────────
      │││││││││┌ show_typealias(io::IOBuffer, x::Type) @ Base ./show.jl:813
      ││││││││││┌ show_typealias(io::IOBuffer, name::GlobalRef, x::Type, env::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:760
      │││││││││││┌ show_typeparams(io::IOContext{IOBuffer}, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:724
      ││││││││││││┌ show(io::IOContext{IOBuffer}, tv::TypeVar) @ Base ./show.jl:2788
      │││││││││││││┌ (::Base.var"#show_bound#661")(io::IOContext{IOBuffer}, b::Any) @ Base ./show.jl:2780
      ││││││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, b::Any)::Any
      │││││││││││││└────────────────────
      │││││││││││┌ show_typeparams(io::IOContext{IOBuffer}, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:719
      ││││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, %252::Any)::Any
      │││││││││││└────────────────────
      │││││││││││┌ show_typeparams(io::IOContext{IOBuffer}, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:722
      ││││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, %313::Any)::Any
      │││││││││││└────────────────────
      │││││││││││┌ show_typeparams(io::IOContext{IOBuffer}, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:727
      ││││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, %191::Any)::Any
      │││││││││││└────────────────────
      ││││││││┌ _show_type(io::IOBuffer, x::Type) @ Base ./show.jl:978
      │││││││││┌ show_datatype(io::IOBuffer, x::DataType) @ Base ./show.jl:1094
      ││││││││││┌ show_datatype(io::IOBuffer, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1097
      │││││││││││┌ maybe_kws_nt(x::DataType) @ Base ./show.jl:1085
      ││││││││││││ runtime dispatch detected: eltype(%76::DataType)::Any
      │││││││││││└────────────────────
      ││││││││││┌ show_datatype(io::IOBuffer, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1186
      │││││││││││┌ show_typeparams(io::IOBuffer, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:724
      ││││││││││││┌ show(io::IOBuffer, tv::TypeVar) @ Base ./show.jl:2788
      │││││││││││││┌ (::Base.var"#show_bound#661")(io::IOBuffer, b::Any) @ Base ./show.jl:2780
      ││││││││││││││ runtime dispatch detected: show(io::IOBuffer, b::Any)::Any
      │││││││││││││└────────────────────
      │││││││││││┌ show_typeparams(io::IOBuffer, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:719
      ││││││││││││ runtime dispatch detected: show(io::IOBuffer, %250::Any)::Any
      │││││││││││└────────────────────
      │││││││││││┌ show_typeparams(io::IOBuffer, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:722
      ││││││││││││ runtime dispatch detected: show(io::IOBuffer, %310::Any)::Any
      │││││││││││└────────────────────
      │││││││││││┌ show_typeparams(io::IOBuffer, env::Core.SimpleVector, orig::Core.SimpleVector, wheres::Vector{TypeVar}) @ Base ./show.jl:727
      ││││││││││││ runtime dispatch detected: show(io::IOBuffer, %190::Any)::Any
      │││││││││││└────────────────────
      ││││││││││┌ show_datatype(io::IOBuffer, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1157
      │││││││││││ runtime dispatch detected: show(io::IOBuffer, %224::Any)::Any
      ││││││││││└────────────────────
      ││││││││││┌ show_datatype(io::IOBuffer, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1162
      │││││││││││ runtime dispatch detected: show(io::IOBuffer, %54::Any)::Any
      ││││││││││└────────────────────
      ││││││││││┌ show_datatype(io::IOBuffer, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1148
      │││││││││││ runtime dispatch detected: show(io::IOBuffer, %57::Any)::Any
      ││││││││││└────────────────────
      ││││││││││┌ show_datatype(io::IOBuffer, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1150
      │││││││││││ runtime dispatch detected: show(io::IOBuffer, %54::Any)::Any
      ││││││││││└────────────────────
      ││││││││││┌ show_datatype(io::IOBuffer, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1172
      │││││││││││ runtime dispatch detected: Base.show_at_namedtuple(io::IOBuffer, %329::Tuple, %328::DataType)::Any
      ││││││││││└────────────────────
      ││││││││┌ _show_type(io::IOBuffer, x::Type) @ Base ./show.jl:981
      │││││││││┌ show_unionaliases(io::IOBuffer, x::Union) @ Base ./show.jl:901
      ││││││││││┌ make_typealiases(x::Union) @ Base ./show.jl:822
      │││││││││││┌ modulesof!(s::Set{Module}, x::Union) @ Base ./show.jl:595
      ││││││││││││ runtime dispatch detected: Base.modulesof!(s::Set{Module}, %3::Any)::Any
      │││││││││││└────────────────────
      │││││││││││┌ modulesof!(s::Set{Module}, x::Union) @ Base ./show.jl:596
      ││││││││││││ runtime dispatch detected: Base.modulesof!(s::Set{Module}, %17::Any)::Any
      │││││││││││└────────────────────
      │││││││││┌ show_unionaliases(io::IOBuffer, x::Union) @ Base ./show.jl:914
      ││││││││││ runtime dispatch detected: show(io::IOBuffer, %89::Any)::Any
      │││││││││└────────────────────
      │││││││││┌ show_unionaliases(io::IOBuffer, x::Union) @ Base ./show.jl:920
      ││││││││││ runtime dispatch detected: Base.show_typealias(io::IOBuffer, %206::Any, x::Union, %204::Core.SimpleVector, %205::Vector{TypeVar})::Any
      │││││││││└────────────────────
      │││││││││┌ show_unionaliases(io::IOBuffer, x::Union) @ Base ./show.jl:928
      ││││││││││ runtime dispatch detected: Base.show_typealias(io::IOBuffer, %269::Any, x::Union, %267::Core.SimpleVector, %268::Vector{TypeVar})::Any
      │││││││││└────────────────────
      ││││││││┌ _show_type(io::IOBuffer, x::Type) @ Base ./show.jl:985
      │││││││││┌ show_delim_array(io::IOBuffer, itr::Vector{Any}, op::Char, delim::Char, cl::Char, delim_one::Bool) @ Base ./show.jl:1392
      ││││││││││┌ show_delim_array(io::IOBuffer, itr::Vector{Any}, op::Char, delim::Char, cl::Char, delim_one::Bool, i1::Int64, l::Int64) @ Base ./show.jl:1403
      │││││││││││ runtime dispatch detected: show(%3::IOContext{IOBuffer}, %52::Any)::Any
      ││││││││││└────────────────────
      ││││││││┌ _show_type(io::IOBuffer, x::Type) @ Base ./show.jl:1012
      │││││││││┌ show_datatype(io::IOContext{IOBuffer}, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1185
      ││││││││││┌ show_type_name(io::IOContext{IOBuffer}, tn::Core.TypeName) @ Base ./show.jl:1059
      │││││││││││ runtime dispatch detected: Base.isvisible(%29::Symbol, %86::Module, %80::Any)::Bool
      ││││││││││└────────────────────
      │││││││││┌ show_datatype(io::IOContext{IOBuffer}, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1157
      ││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, %227::Any)::Any
      │││││││││└────────────────────
      │││││││││┌ show_datatype(io::IOContext{IOBuffer}, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1162
      ││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, %55::Any)::Any
      │││││││││└────────────────────
      │││││││││┌ show_datatype(io::IOContext{IOBuffer}, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1148
      ││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, %58::Any)::Any
      │││││││││└────────────────────
      │││││││││┌ show_datatype(io::IOContext{IOBuffer}, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1150
      ││││││││││ runtime dispatch detected: show(io::IOContext{IOBuffer}, %55::Any)::Any
      │││││││││└────────────────────
      │││││││││┌ show_datatype(io::IOContext{IOBuffer}, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1172
      ││││││││││ runtime dispatch detected: Base.show_at_namedtuple(io::IOContext{IOBuffer}, %338::Tuple, %337::DataType)::Any
      │││││││││└────────────────────
      │││││││││┌ show_datatype(io::IOContext{IOBuffer}, x::DataType, wheres::Vector{TypeVar}) @ Base ./show.jl:1180
      ││││││││││ runtime dispatch detected: Base.show_at_namedtuple(io::IOContext{IOBuffer}, %387::Tuple, %391::DataType)::Any
      │││││││││└────────────────────
      ││││││││┌ _show_type(io::IOBuffer, x::Type) @ Base ./show.jl:1014
      │││││││││ runtime dispatch detected: show(%98::IOContext{IOBuffer}, %99::Any)::Any
      ││││││││└────────────────────
      │││││││┌ show(io::IOBuffer, x::DataType) @ Base ./show.jl:970
      ││││││││ runtime dispatch detected: Base._show_type(io::IOBuffer, %1::Any)::Nothing
      │││││││└────────────────────
      ```
      
      I haven't looked through all instances thoroughly, just a quick `grep`.
      However, this PR should address several common cases.
      
      (cherry picked from commit 2230f798)
      55a30d5f
    • Jishnu Bhattacharya's avatar
      Fix indexing in _mapreducedim for OffsetArrays (#55506) · cecd5f2f
      Jishnu Bhattacharya authored
      
      The destination array was being indexed incorrectly if it had offset
      indices. This led to the following on nightly:
      ```julia
      julia> using OffsetArrays
      
      julia> r = 5:100;
      
      julia> a = OffsetVector(r, 2);
      
      julia> sum(a, dims=1)
      1-element OffsetArray(::Vector{Int64}, 3:3) with eltype Int64 with indices 3:3:
       0
      
      julia> sum(a)
      5040
      ```
      The indexing was marked `@inbounds`, so this was not throwing an error.
      This PR also follows #55329 and only marks the indexing operations as
      `@inbounds`, omitting the function calls.
      
      ---------
      
      Co-authored-by: default avatarMatt Bauman <mbauman@juliahub.com>
      (cherry picked from commit 3d20a921)
      cecd5f2f
    • Gabriel Baraldi's avatar
      Initialize threadpools correctly during sysimg build (#55567) · 4d46082a
      Gabriel Baraldi authored
      I made a mistake with which threadpool was which.
      
      (cherry picked from commit d5bbcc5a)
      4d46082a
Loading