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
When changing a source file, sometimes you change the signature of functions. Revise defines the new functions, but the old functions still pollute the run-time. Many times, the source still includes calls to the old function signature (because nobody remembers to change all calls), so they silently run. Having just encountered such a potential pitfall, I'm putting it out here.
In any case, if functions from a Module / file could be identified in the run-time, then all functions from a "revised" file about to be run, can be redefined to indicate them being stale. And then the redefinitions would overwrite them again.
This problem doesn't necessarily have a simple solution, or one which should be under Revise.jl.
The text was updated successfully, but these errors were encountered:
See JuliaLang/julia#20048. Without @uncallable, it should be possible for Revise to notice that a method has been deleted and then redefine it so that calling it is an error. Unfortunately, that won't help in cases where you're deleting a more specific method and replacing it with a more generic method.
When changing a source file, sometimes you change the signature of functions. Revise defines the new functions, but the old functions still pollute the run-time. Many times, the source still includes calls to the old function signature (because nobody remembers to change all calls), so they silently run. Having just encountered such a potential pitfall, I'm putting it out here.
In any case, if functions from a Module / file could be identified in the run-time, then all functions from a "revised" file about to be run, can be redefined to indicate them being stale. And then the redefinitions would overwrite them again.
This problem doesn't necessarily have a simple solution, or one which should be under Revise.jl.
The text was updated successfully, but these errors were encountered: