mirror of
https://github.com/luau-lang/luau.git
synced 2025-04-19 11:13:49 +01:00
# What's Changed? - Code refactoring with a new clang-format - More bug fixes / test case fixes in the new solver ## New Solver - More precise telemetry collection of `any` types - Simplification of two completely disjoint tables combines them into a single table that inherits all properties / indexers - Refining a `never & <anything>` does not produce type family types nor constraints - Silence "inference failed to complete" error when it is the only error reported --- ### Internal Contributors Co-authored-by: Aaron Weiss <aaronweiss@roblox.com> Co-authored-by: Andy Friesen <afriesen@roblox.com> Co-authored-by: Dibri Nsofor <dnsofor@roblox.com> Co-authored-by: Jeremy Yoo <jyoo@roblox.com> Co-authored-by: Vighnesh Vijay <vvijay@roblox.com> Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com> --------- Co-authored-by: Aaron Weiss <aaronweiss@roblox.com> Co-authored-by: Alexander McCord <amccord@roblox.com> Co-authored-by: Andy Friesen <afriesen@roblox.com> Co-authored-by: Vighnesh <vvijay@roblox.com> Co-authored-by: Aviral Goel <agoel@roblox.com> Co-authored-by: David Cope <dcope@roblox.com> Co-authored-by: Lily Brown <lbrown@roblox.com> Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
39 lines
694 B
C++
39 lines
694 B
C++
// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details
|
|
#pragma once
|
|
|
|
namespace Luau
|
|
{
|
|
namespace CodeGen
|
|
{
|
|
|
|
struct IrBuilder;
|
|
struct IrOp;
|
|
|
|
enum class BuiltinImplType
|
|
{
|
|
None,
|
|
UsesFallback, // Uses fallback for unsupported cases
|
|
Full, // Is either implemented in full, or exits to VM
|
|
};
|
|
|
|
struct BuiltinImplResult
|
|
{
|
|
BuiltinImplType type;
|
|
int actualResultCount;
|
|
};
|
|
|
|
BuiltinImplResult translateBuiltin(
|
|
IrBuilder& build,
|
|
int bfid,
|
|
int ra,
|
|
int arg,
|
|
IrOp args,
|
|
IrOp arg3,
|
|
int nparams,
|
|
int nresults,
|
|
IrOp fallback,
|
|
int pcpos
|
|
);
|
|
|
|
} // namespace CodeGen
|
|
} // namespace Luau
|