Skip to content

Fixes for 1.13 and 1.14#757

Merged
maleadt merged 9 commits intomasterfrom
tb/nightly
Jan 18, 2026
Merged

Fixes for 1.13 and 1.14#757
maleadt merged 9 commits intomasterfrom
tb/nightly

Conversation

@maleadt
Copy link
Member

@maleadt maleadt commented Jan 18, 2026

No description provided.

maleadt and others added 7 commits January 17, 2026 20:57
Julia 1.14 asserts that CodeInfo.edges is Union{Nothing, SimpleVector, Vector{Any}}.
Change from Vector{MethodInstance} to Vector{Any} for compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Julia 1.14 asserts that CodeInfo.edges is Union{Nothing, SimpleVector, Vector{Any}}.
Change from Vector{MethodInstance} to Vector{Any} for compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Julia 1.14 generates different IR for keyword arguments, containing
inttoptr and jl_f_apply_type calls. Skip this test on 1.14 until the
Julia behavior is investigated.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Jan 18, 2026

Your PR requires formatting changes to meet the project's style guidelines.
Please consider running Runic (git runic master) to apply these changes.

Click here to view the suggested changes.
diff --git a/src/jlgen.jl b/src/jlgen.jl
index 29e54f5..b006220 100644
--- a/src/jlgen.jl
+++ b/src/jlgen.jl
@@ -135,7 +135,7 @@ function methodinstance_generator(world::UInt, source, self, ft::Type, tt::Type)
     # propagate edge metadata
     new_ci.min_world = min_world[]
     new_ci.max_world = max_world[]
-    new_ci.edges = Any[mi]
+        new_ci.edges = Any[mi]
 
     # prepare the slots
     new_ci.slotnames = Symbol[Symbol("#self#"), :ft, :tt]
@@ -627,14 +627,14 @@ function ci_cache_populate(interp, cache, mi, min_world, max_world)
 end
 
 @static if VERSION >= v"1.14-"
-function ci_cache_lookup(cache, mi, min_world, max_world)
-    # In Julia 1.14+, WorldView was replaced by InternalCodeCache with WorldRange
-    # cache is OverlayCodeCache{InternalCodeCache}, extract owner from globalcache
-    owner = cache.globalcache.owner
-    wvc = CC.InternalCodeCache(owner, CC.WorldRange(min_world, max_world))
-    ci = CC.get(wvc, mi, nothing)
-    return ci
-end
+    function ci_cache_lookup(cache, mi, min_world, max_world)
+        # In Julia 1.14+, WorldView was replaced by InternalCodeCache with WorldRange
+        # cache is OverlayCodeCache{InternalCodeCache}, extract owner from globalcache
+        owner = cache.globalcache.owner
+        wvc = CC.InternalCodeCache(owner, CC.WorldRange(min_world, max_world))
+        ci = CC.get(wvc, mi, nothing)
+        return ci
+    end
 else
 function ci_cache_lookup(cache, mi, min_world, max_world)
     wvc = WorldView(cache, min_world, max_world)
diff --git a/test/native.jl b/test/native.jl
index 9f908dc..33363a3 100644
--- a/test/native.jl
+++ b/test/native.jl
@@ -643,12 +643,12 @@ end
         end
 
         Base.Experimental.@MethodTable method_table
-        # @consistent_overlay (Julia 1.11+) is needed for the compiler to optimize through the overlay
-        @static if VERSION >= v"1.11-"
-            Base.Experimental.@consistent_overlay method_table @noinline Core.throw_inexacterror(f::Symbol, ::Type{T}, val) where {T} = return
-        else
-            Base.Experimental.@overlay method_table @noinline Core.throw_inexacterror(f::Symbol, ::Type{T}, val) where {T} = return
-        end
+    # @consistent_overlay (Julia 1.11+) is needed for the compiler to optimize through the overlay
+    @static if VERSION >= v"1.11-"
+        Base.Experimental.@consistent_overlay method_table @noinline Core.throw_inexacterror(f::Symbol, ::Type{T}, val) where {T} = return
+    else
+        Base.Experimental.@overlay method_table @noinline Core.throw_inexacterror(f::Symbol, ::Type{T}, val) where {T} = return
+    end
     end
 
     @test @filecheck begin

@maleadt maleadt merged commit 03d1170 into master Jan 18, 2026
37 of 38 checks passed
@maleadt maleadt deleted the tb/nightly branch January 18, 2026 10:34
@codecov
Copy link

codecov bot commented Jan 18, 2026

Codecov Report

❌ Patch coverage is 83.33333% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 75.30%. Comparing base (e2d8505) to head (0c01c14).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/jlgen.jl 83.33% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #757      +/-   ##
==========================================
+ Coverage   74.75%   75.30%   +0.55%     
==========================================
  Files          24       24              
  Lines        3672     3677       +5     
==========================================
+ Hits         2745     2769      +24     
+ Misses        927      908      -19     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@christiangnrd
Copy link
Member

FYI JuliaLang/julia#59413 was marked for backporting a few days ago so this will probably have to be adjusted once 1.13.0-beta2 is released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants