chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.78k stars 420 forks source link

spike: Implement MyClass as generic ownership by default #13352

Closed mppf closed 5 years ago

mppf commented 5 years ago

Following #12917, update var x:MyClass = ... and proc f(arg:MyClass) to be generic with respect to management style.

mppf commented 5 years ago
mppf commented 5 years ago

I wonder if we should have a warning for actual arguments of type C but there are many behaviors changing here...

mppf commented 5 years ago

Issues with the protoytpe

mppf commented 5 years ago
types/cptr/void_ptr_object.chpl
classes/nilability/try-bang-cast-away-nilable.chpl
classes/vass/generic-method-with-param-arg-1.chpl
modules/diten/returnClassDiffModule3.chpl
modules/diten/returnClassDiffModule4.chpl
modules/diten/returnClassDiffModule5.chpl
optimizations/localon/sublocale.chpl
distributions/robust/arithmetic/basics/test_array_of_distributed_array1.chpl
distributions/robust/arithmetic/basics/test_reshape.chpl
distributions/robust/arithmetic/slicing/test_domain_slicing1.chpl
distributions/robust/arithmetic/trivial/test_domain_plus_minus_index.chpl
distributions/robust/arithmetic/trivial/test_dot_dist.chpl
distributions/robust/arithmetic/trivial/test_dot_domain.chpl
distributions/robust/arithmetic/trivial/test_dot_expand.chpl
studies/comd/llnl/CoMD.chpl
 -> ???  error: illegal cast from string to MyClass

analysis/alias/array-of-classes.chpl
functions/typeMethods/type-of-this.chpl
reductions/thomasvandoren/test/TestMini.chpl
 -> error passing ref borrowed MyClass? to MyClass / passing C? to C

studies/shootout/nbody/sidelnik/nbody_orig_1.chpl
 -> could not resolve == between type and none

classes/deitz/types/type_in_class3.chpl
classes/diten/class_nest_simple.chpl
classes/diten/doublenest.chpl
classes/diten/nesting_with_inheritance.chpl
classes/diten/test_no_name_collision.chpl
classes/initializers/compilerGenerated/nested-class-in-class.chpl
classes/initializers/compilerGenerated/nested-class-in-record.chpl
classes/initializers/nested/classclass.chpl
classes/initializers/nested/nested.chpl
classes/initializers/nested/nested2.chpl
classes/initializers/nested/nestedInnerGeneric.chpl
classes/initializers/nested/recordclass.chpl
classes/initializers/nested/unmanaged-problem-use-before-def.chpl
studies/amr/advection/amr/AMR_AdvectionCTU_driver.chpl
studies/amr/advection/grid/Grid_AdvectionCTU_driver.chpl
studies/amr/advection/level/Level_AdvectionCTU_driver.chpl
studies/amr/diffusion/grid/Grid_DiffusionBE_driver.chpl
studies/amr/diffusion/level/Level_DiffusionBE_driver.chpl
studies/hpcc/RA/diten/ra.chpl
studies/programs/genericStack.chpl
studies/programs/linkedList.chpl
studies/uts/dequeue.chpl
studies/uts/uts_deq.chpl
trivial/diten/infix2postfix.chpl
 -> nested types

classes/delete-free/lifetimes/field-init-escapes.chpl
 -> ?

classes/diten/nearestMutualParentClass.chpl
 -> can't resolve borrowed E, object

classes/diten/passSubClassByRef.chpl
 -> missing error

classes/override/override-generic-concrete-missing.chpl
classes/override/override-iter-missing.chpl
 -> trivially different override error

classes/vass/ref-like-intents/inout-subclass.chpl
classes/vass/ref-like-intents/out-subclass.chpl
 -> "Cannot assign" vs "Unresolved call"

compflags/ferguson/unstable-class.chpl
functions/typeMethods/anymanaged.chpl
llvmDebug_test.chpl
llvm/tbaa/tbaa_class.chpl
param/errors/checkParamTypes.chpl
release/examples/spec/Procedures/owned-any-intent.chpl
studies/shootout/chameneos-redux/hannah/chameneos-redux-cas.chpl
studies/shootout/chameneos-redux/lydia/chameneos-redux-lydia.chpl
studies/shootout/chameneos-redux/lydia/chameneos-redux-waitFor.chpl
studies/shootout/chameneos-redux/lydia/chameneos-redux-yield.chpl
types/type_variables/deitz/functions/test_foo2.chpl
types/type_variables/ferguson/ispod.chpl
 -> test needs update

domains/vass/assoc-idxtype-error-1.chpl
 -> error check failed

errhandling/lydia/notAnErrorSubtype-caught2.chpl
errhandling/lydia/notAnErrorSubtype-rethrown.chpl
errhandling/lydia/notAnErrorSubtype-rethrown2.chpl
errhandling/lydia/notAnErrorSubtype-thrown.chpl
errhandling/lydia/notAnErrorSubtype-thrown-owned.chpl
 -> unresolved call type owned Foo.borrow()

expressions/ferguson/dynamic-class-name.chpl
 -> internal error in codegen

expressions/if-expr/inside-field.chpl
 -> internal error in aggregate type

functions/vass/access-to-generic-types-field.chpl
 -> receiver with C(int) passed to formal with borrowed C

library/packages/UnitTest/AssertEqual/AssertEqualTest.chpl
library/packages/UnitTest/AssertFalse/AssertFalseTest.chpl
library/packages/UnitTest/AssertGreater/AssertGreaterTest.chpl
library/packages/UnitTest/AssertLess/AssertLessTest.chpl
library/packages/UnitTest/AssertNotEqual/AssertNotEqualTest.chpl
library/packages/UnitTest/AssertTrue/AssertTrueTest.chpl
library/packages/UnitTest/Launcher_Test.chpl
 -> lambda is a generic function (fixed?)

library/packages/VectorList/test-ints.chpl
library/packages/VectorList/test-pariter.chpl
library/packages/VectorList/test-string.chpl
 -> probably module code needs updating? ChapelTuple error

library/standard/DataFrames/psahabu/AccessSeries.chpl
library/standard/DataFrames/psahabu/AddSeries.chpl
library/standard/DataFrames/psahabu/ArithNoneSeries.chpl
library/standard/DataFrames/psahabu/ContainSeries.chpl
library/standard/DataFrames/psahabu/FilterNoneSeries.chpl
library/standard/DataFrames/psahabu/FilterSeries.chpl
library/standard/DataFrames/psahabu/HelloDataFrame.chpl
library/standard/DataFrames/psahabu/HelloSeries.chpl
library/standard/DataFrames/psahabu/IterNoneSeries.chpl
library/standard/DataFrames/psahabu/IterSeries.chpl
library/standard/DataFrames/psahabu/MixedOperateSeries.chpl
library/standard/DataFrames/psahabu/MultiplySeries.chpl
library/standard/DataFrames/psahabu/MutateDataFrame.chpl
library/standard/DataFrames/psahabu/ScalarPromSeries.chpl
library/standard/DataFrames/psahabu/SubtractSeries.chpl
library/standard/DataFrames/psahabu/SumMinMaxSeries.chpl
 -> value from coercion passed to ref formal
 -> illegal cast from string to something

library/standard/DateTime/readWriteDatesTimes.chpl
library/standard/DateTime/testDate.chpl
library/standard/DateTime/testDatetime.chpl
library/standard/DateTime/testDatetimeTZ.chpl
library/standard/DateTime/testTime.chpl
library/standard/DateTime/testTimezone.chpl
library/standard/DateTime/testTimezoneConversions.chpl
library/standard/DateTime/writeDateTime.chpl
library/packages/TOML/test/date.chpl
library/packages/TOML/test/newline.chpl
library/packages/TOML/test/stringTest.chpl
library/packages/TOML/test/time.chpl
library/packages/TOML/test/UTomlTest.chpl
mason/chplVersion/mason-chpl-version-build.chpl
mason/chplVersion/mason-chpl-version-new.chpl
mason/env/mason-env.chpl
mason/env/mason-registry.chpl
mason/mason-example/mason-example.chpl
mason/mason-example-with-opts/mason-example.chpl
mason/masonNewTest.chpl
mason/mason-test/mason-test.chpl
mason/run/mason-run.chpl
mason/search/badFileName/mason-search.chpl
mason/search/mason-search.chpl
mason/spec-parser/test-spec-parser.chpl
mason/subdir-commands/mason-run.chpl
studies/comd/elegant/arrayOfStructs/CoMD.chpl
 -> value from coercion passed to ref formal
 -> C codegen errors &nil

modules/diten/moduleNotInitialized.chpl
param/diten/castParamToClass.chpl
 -> ?

parallel/forall/diten/unusedClassForallArg.chpl
 -> missing error

parallel/taskPar/taskIntents/ri-coforall+on.chpl
parallel/taskPar/taskIntents/ri-max-and-user.chpl
parallel/taskPar/vass/ri-3-stress-coforall.chpl
release/examples/benchmarks/lcals/LCALSMain.chpl
 -> internal error PAS_CRE_ONS

release/examples/spec/Domains/getDomainMap.chpl
 -> "Unknown distribution"

release/examples/spec/Methods/typeMethodIterThese.chpl
 -> unable to iterate over C

studies/bale/toposort/toposort.chpl
 -> returning a generic variable is not supported

types/ddata/ddata_sizeof_element.chpl
 -> internal error

types/records/lydia/recordOffset-classField.chpl
users/vass/type-tests.isSubtype.chpl
 -> unable to perform subtype query

types/tuple/dinan/pining_for_lisp.chpl
types/tuple/dinan/pining_for_lisp_ver2.chpl
 -> unable to resolve MyClass == borrowed MyClass

types/type_variables/jplevyak/typevar_constraint-1.chpl
 -> ?

users/engin/sparse_bulk_dist/integrity.chpl
users/engin/sparse_bulk_dist/sparseAdd2D.chpl
users/engin/sparse_bulk_dist/sparseBulk.chpl
users/engin/sparse_bulk_dist/sparseBulk2D.chpl
users/engin/sparse_bulk_dist/sparseBulkBoundsCheck.chpl
users/engin/sparse_bulk_dist/sparseBulkOpts.chpl
 -> returning a generic type variable is not supported

visibility/private/uses/pointOfInstantiation/methodOnType2.chpl
 -> ?
mppf commented 5 years ago

[Summary: #Successes = 9779 | #Failures = 292 | #Futures = 0]

mppf commented 5 years ago

[Summary: #Successes = 9877 | #Failures = 255 | #Futures = 0]