Steps to replicate the issue (include links if applicable):
- Scribunto converts parameter keys which are numbers to strings if greater than 2^53 or less than -(2^53), since Lua cannot represent many integers beyond that point.
- However, Lua is only capable of representing every integer between 2^53 - 1 and -(2^53) + 1. e.g. 2^53 == 2^53 + 1 evaluates to true.
What happens?:
- Using 2^53 (9007199254740992) or -(2^53) (-9007199254740992) as a Scribunto parameter will result in a parameter key with the type number.
What should have happened instead?:
- It should have the type string.
Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):
Other information (browser name/version, screenshots, etc.):