Handle runtime implicit parameters, and self outside of methods (#4361)

Closes #4356, #4359

---------

Co-authored-by: Josh L <josh11b@users.noreply.github.com>
This commit is contained in:
josh11b
2024-10-03 20:24:28 +00:00
committed by GitHub
co-authored by Josh L
parent e617d64939
commit d6d70bf80d
12 changed files with 331 additions and 47 deletions
+2
View File
@@ -72,6 +72,8 @@ static auto DiagnoseModifiers(Context& context, DeclIntroducerState& introducer,
static auto CheckFunctionSignature(Context& context,
const NameComponent& name_and_params)
-> void {
RequireGenericOrSelfImplicitFunctionParams(
context, name_and_params.implicit_params_id);
SemIR::RuntimeParamIndex next_index(0);
for (auto param_id : llvm::concat<const SemIR::InstId>(
context.inst_blocks().GetOrEmpty(name_and_params.implicit_params_id),