Skip to content

Conversation

@andyfriesen
Copy link
Collaborator

@andyfriesen andyfriesen commented Nov 1, 2024

  • New vector library! See https://rfcs.luau.org/vector-library.html for details
  • Replace the use of non-portable strnlen with memchr. strnlen is not part of any C or C++ standard.
  • Introduce lua_newuserdatataggedwithmetatable for faster tagged userdata creation of userdata with metatables registered with lua_setuserdatametatable

Old Solver

  • It used to be the case that a module's result type would unconditionally be inferred to be any if it imported any module that participates in any import cycle. This is now fixed.

New Solver

  • Improve inference of table.freeze: We now infer read-only properties on tables after they have been frozen.
  • We now correctly flag cases where string.format is called with 0 arguments.
  • Fix a bug in user-defined type functions where table properties could be lost if the table had a metatable
  • Reset the random number seed for each evaluation of a type function
  • We now retry subtyping arguments if it failed due to hidden variadics.

aatxe and others added 30 commits November 3, 2023 12:47
- Add SUBRK and DIVRK bytecode instructions
    - Enables future performance optimizations

Miscellaneous
- Small performance improvements to new non-strict mode
- Introduce more scripts for fuzzing
- Improcements to dataflow analysis
Co-authored-by: Alexander McCord <[email protected]>
Co-authored-by: Andy Friesen <[email protected]>
Co-authored-by: Aviral Goel <[email protected]>
Co-authored-by: David Cope <[email protected]>
Co-authored-by: Lily Brown <[email protected]>
Co-authored-by: Vyacheslav Egorov <[email protected]>
@andyfriesen andyfriesen merged commit a251bc6 into master Nov 1, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants