This repository has been archived by the owner on May 4, 2024. It is now read-only.
RFC: Add debug.getmetatable
and debug.setmetatable
#39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add
debug.getmetatable
anddebug.setmetatable
Summary
Add
debug.getmetatable
anddebug.setmetatable
functions which have the same behavior asgetrawmetatable
andsetrawmetatable
.Motivation
Vanilla Lua uses
debug.getmetatable
anddebug.setmetatable
, some executors have them also. It would be good to have more compatibility with vanilla Lua as it's odd that there are functions that to the exact same thing as their vanilla Lua counterparts but have a different name.Design
debug.getmetatable
functions the same asgetrawmetatable
. ie. it always returns the real metatable of the object even if it is spoofed via__metatable
metamethod.debug.setmetatable
functions the same assetrawmetatable
. ie. it always sets the real metatable of the object even if it is spoofed via__metatable
metamethod.Drawbacks
Not much, have to add both the functions to the
debug.
library.Alternatives
The alternative is just to use
getrawmetatable
andsetrawmetatable
. The impact of using them is small but it's still a good thing to have functions be on par with vanilla Lua.