Because some functions are patched twice (like `os.rename()`), stopping the patches in the same order they were started can result in restoration of one of the patches. For example: ``` fn = os.rename # Patch nesting order: 1 then 2 os.rename = patch_1(fn) os.rename = patch_2(patch_1(fn)) # Unpatch 1 then 2: A still-patched function is restored os.rename = fn os.rename = patch_1(fn) # Unpatch 2 then 1: The original function is restored os.rename = patch_1(fn) os.rename = fn ``` Fixes #365
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be resolved. The issue was opened by kurtmckee and has received 2 comments.