From cdc596316c61e7b18775ceff81269826a415a050 Mon Sep 17 00:00:00 2001 From: Eugene Auduchinok Date: Tue, 13 Sep 2022 18:09:06 +0200 Subject: [PATCH] Check expressions: safer init properties check (#13892) --- src/Compiler/Checking/CheckExpressions.fs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Compiler/Checking/CheckExpressions.fs b/src/Compiler/Checking/CheckExpressions.fs index 537887747d6..50efadc072e 100644 --- a/src/Compiler/Checking/CheckExpressions.fs +++ b/src/Compiler/Checking/CheckExpressions.fs @@ -8921,8 +8921,11 @@ and TcLookupItemThen cenv overallTy env tpenv mObjExpr objExpr objExprTy delayed // To get better warnings we special case some of the few known mutate-a-struct method names let mutates = (if methodName = "MoveNext" || methodName = "GetNextArg" then DefinitelyMutates else PossiblyMutates) - // Check if we have properties with "init-only" setters, which we try to call after init is done. - CheckInitProperties g (List.head minfos) methodName mItem + match minfos with + | minfo :: _ -> + // Check if we have properties with "init-only" setters, which we try to call after init is done. + CheckInitProperties g minfo methodName mItem + | _ -> () #if !NO_TYPEPROVIDERS match TryTcMethodAppToStaticConstantArgs cenv env tpenv (minfos, tyArgsOpt, mExprAndItem, mItem) with