You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/runner/PlutoRunner/src/PlutoRunner.jl
+25-20Lines changed: 25 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -807,28 +807,33 @@ function delete_toplevel_methods(f::Function, cell_id::UUID)::Bool
807
807
end
808
808
end
809
809
810
-
# if `f` is an extension to an external function, and we defined a method that overrides a method, for example,
811
-
# we define `Base.isodd(n::Integer) = rand(Bool)`, which overrides the existing method `Base.isodd(n::Integer)`
812
-
# calling `Base.delete_method` on this method won't bring back the old method, because our new method still exists in the method table, and it has a world age which is newer than the original. (our method has a deleted_world value set, which disables it)
813
-
#
814
-
# To solve this, we iterate again, and _re-enable any methods that were hidden in this way_, by adding them again to the method table with an even newer `primary_world`.
# not necessary in Julia after https://github.com/JuliaLang/julia/pull/53415 💛
813
+
814
+
# if `f` is an extension to an external function, and we defined a method that overrides a method, for example,
815
+
# we define `Base.isodd(n::Integer) = rand(Bool)`, which overrides the existing method `Base.isodd(n::Integer)`
816
+
# calling `Base.delete_method` on this method won't bring back the old method, because our new method still exists in the method table, and it has a world age which is newer than the original. (our method has a deleted_world value set, which disables it)
817
+
#
818
+
# To solve this, we iterate again, and _re-enable any methods that were hidden in this way_, by adding them again to the method table with an even newer `primary_world`.
0 commit comments