[Chapel Merge] 20967 dyno: Implement some basic initializer semantics

Branch: refs/heads/main
Revision: 1d533068b284f7d31a283871f115446173f0b538
Author: Ben Harshbarger
Link: [Merge pull request] # 20967 from benharsh:basic-init-semantics dyno: Implement some basic initializer semantics by benharsh · Pull Request #20967 · chapel-lang/chapel · GitHub
Log Message:

[Merge pull request] # 20967 from benharsh:basic-init-semantics
Add tracking of the tags into which the Resolver has currently stepped inside
This PR adds some preliminary semantic checks for a few initializer rules: - Cannot return before initializing all fields - Cannot return a non-void value - Cannot initialize inside loops, begins, or cobegins - Cannot throw inside of initializers - Can only use try! without catch in initializers Testing: - make test-dyno

Compare: Comparing 7f885f7950638b0866edc9a1b6d6fabff1ccca3e...1d533068b284f7d31a283871f115446173f0b538 · chapel-lang/chapel · GitHub
Diff: https://github.com/chapel-lang/chapel/pull/20967.diff
FilesChanged: dyno: Implement some basic initializer semantics by benharsh · Pull Request #20967 · chapel-lang/chapel · GitHub

Modified Files:
compiler/resolution/functionResolution.cpp,frontend/lib/resolution/InitResolver.cpp,frontend/lib/resolution/InitResolver.h,frontend/lib/resolution/Resolver.cpp,frontend/lib/resolution/Resolver.h,frontend/lib/resolution/resolution-queries.cpp,frontend/test/resolution/CMakeLists.txt,frontend/test/resolution/testInitSemantics.cpp,frontend/test/resolution/testResolveNew.cpp,modules/dists/BlockCycDist.chpl,modules/dists/BlockDist.chpl,modules/dists/CyclicDist.chpl,modules/dists/DimensionalDist2D.chpl,modules/dists/HashedDist.chpl,modules/dists/PrivateDist.chpl,modules/dists/ReplicatedDist.chpl,modules/dists/SparseBlockDist.chpl,modules/dists/StencilDist.chpl,modules/internal/ArrayViewRankChange.chpl,modules/internal/Atomics.chpl,modules/internal/ChapelIteratorSupport.chpl,modules/internal/ChapelSyncvar.chpl,modules/internal/DefaultAssociative.chpl,modules/internal/DefaultRectangular.chpl,modules/internal/DefaultSparse.chpl,modules/internal/MemConsistency.chpl,modules/internal/NetworkAtomics.chpl,modules/internal/OwnedObject.chpl,modules/internal/SharedObject.chpl,modules/internal/String.chpl,modules/internal/localeModels/apu/LocaleModel.chpl,modules/internal/localeModels/flat/LocaleModel.chpl,modules/internal/localeModels/gpu/LocaleModel.chpl,modules/internal/localeModels/numa/LocaleModel.chpl,modules/internal/tasktable/on/ChapelTaskTable.chpl,modules/layouts/LayoutCS.chpl,modules/packages/ArgumentParser.chpl,modules/packages/AtomicObjects.chpl,modules/packages/ConcurrentMap.chpl,modules/packages/DistributedBag.chpl,modules/packages/EpochManager.chpl,modules/packages/LinkedLists.chpl,modules/packages/MatrixMarket.chpl,modules/packages/ProtobufProtocolSupport.chpl,modules/packages/Socket.chpl,modules/packages/Sort.chpl,modules/packages/SortedMap.chpl,modules/packages/TOML.chpl,modules/packages/UnitTest.chpl,modules/packages/UnrolledLinkedList.chpl,modules/standard/BigInteger.chpl,modules/standard/CTypes.chpl,modules/standard/ChapelIO.chpl,modules/standard/CommDiagnostics.chpl,modules/standard/FileSystem.chpl,modules/standard/Heap.chpl,modules/standard/IO.chpl,modules/standard/List.chpl,modules/standard/Map.chpl,modules/standard/Random.chpl,modules/standard/Regex.chpl,modules/standard/Set.chpl,modules/standard/Time.chpl,modules/standard/Version.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/normalErrorMessage.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/normalErrorMessage.good,test/deprecated/IO/specailWritersReturnErrorMessage/userDefinedWritelnMethod.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/userDefinedWritelnMethod.good,test/deprecated/IO/specailWritersReturnErrorMessage/wrbTopWritef.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/wrbTopWritef.good,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWrite.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWrite.good,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWriteBytes.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWriteBytes.good,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWritebits.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWritebits.good,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWritef.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWritef.good,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWriteln.chpl,test/deprecated/IO/specailWritersReturnErrorMessage/wrbWriteln.good,test/deprecated/IO/writersReturnBool.md,test/deprecated/IO/writersReturningBool.catfiles,test/deprecated/IO/writersReturningBool.chpl,test/deprecated/IO/writersReturningBool.compopts,test/deprecated/IO/writersReturningBool.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbTopWritef.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWrite.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWriteBytes.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWritebits.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWritef.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWriteln.good,test/library/standard/Spawn/cat-stdout-stderr.chpl,test/optimizations/remoteValueForwarding/gmp/nestedOn.prediff,test/performance/ferguson/CommUtil.chpl,test/performance/ferguson/remote-array-write-access.chpl,tools/mason/MasonBuild.chpl,tools/mason/MasonDoc.chpl,tools/mason/MasonEnv.chpl,tools/mason/MasonExample.chpl,tools/mason/MasonExternal.chpl,tools/mason/MasonModify.chpl,tools/mason/MasonNew.chpl,tools/mason/MasonPublish.chpl,tools/mason/MasonRun.chpl,tools/mason/MasonSearch.chpl,tools/mason/MasonSystem.chpl,tools/mason/MasonTest.chpl,tools/mason/MasonUpdate.chpl,tools/mason/MasonUtils.chpl,tools/mason/SpecParser.chpl,tools/mason/mason.chpl

Removed Files:
test/deprecated/IO/writersReturnBool.md,test/deprecated/IO/writersReturningBool.catfiles,test/deprecated/IO/writersReturningBool.chpl,test/deprecated/IO/writersReturningBool.compopts,test/deprecated/IO/writersReturningBool.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbTopWritef.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWrite.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWriteBytes.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWritebits.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWritef.good,test/deprecated/IO/writersReturningBoolFlagUnset/wrbWriteln.good