Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-nilable type checking meta-issue #13598

Closed
30 of 37 tasks
vasslitvinov opened this issue Aug 1, 2019 · 3 comments
Closed
30 of 37 tasks

Non-nilable type checking meta-issue #13598

vasslitvinov opened this issue Aug 1, 2019 · 3 comments
Assignees

Comments

@vasslitvinov
Copy link
Member

vasslitvinov commented Aug 1, 2019

This is a summary of nilability / nil checking issues.
Starting point: nilable types #12614

Design-ish

Convenience features

Bugs, would-be-nice

Resolved issues

@vasslitvinov vasslitvinov self-assigned this Aug 1, 2019
@vasslitvinov vasslitvinov changed the title Nil checking meta-issue Non-nilable type checking meta-issue Aug 1, 2019
@bradcray
Copy link
Member

By pinning this issue, my concern is more w.r.t. the tests that are requiring --legacy-classes to keep working than anything (and maybe that list should be split off into its own epic / issue as a result).

vasslitvinov added a commit to vasslitvinov/chapel that referenced this issue Oct 5, 2019
For 12 of these tests, I added `?` where the code was using non-nilable types
incorrectly. The remaining fixes are:

* classes/errors/newValueNotType.chpl - I merely adjusted .bad
* deprecated/arrayAsVec/push-back-owned.chpl - no changes, just removed .compopts

Here is my tally of the remaining compopts with `--legacy-classes`,
as of 92fc605 - chapel-lang#13598 needs updating:

* The compile-time control-flow-based nil checking works differently
  in the presence of nilable types:

    classes/delete-free/nil-checking/nil-check-control.chpl
    classes/delete-free/nil-checking/nilcheck-empty-refs.chpl
    classes/delete-free/nil-checking/nilcheck.chpl

* Compile-time control-flow-based nil checking, this is a wish item:

    classes/vass/if-object-2.chpl

* Related to owned/shared - I suspect straightforward to update:

    classes/ferguson/class-double-modifier.chpl

* Old-style runtime nil checking chapel-lang#13625, intentionally legacy:

    classes/diten/callNilClassesMethod.chpl
    classes/diten/nilDynamicDispatch.chpl

* Related to nilability; probably intentionally legacy:

    classes/delete-free/default-arg-typeless-error.chpl
    classes/delete-free/default-arg-typeless-legacy.chpl

* Intentional legacy checking:

    classes/errors/newValueNotType2.chpl
    compflags/ferguson/unstable-class.chpl
    compflags/ferguson/unstable-owned-shared-intent2.chpl
vasslitvinov added a commit that referenced this issue Oct 7, 2019
Fix some tests to work without --legacy-classes

For 12 of these tests, I added `?` where the code was using non-nilable types
incorrectly. The remaining fixes are:

* classes/errors/newValueNotType.chpl - I merely adjusted .bad
* deprecated/arrayAsVec/push-back-owned.chpl - no changes, just removed .compopts

Here is my tally of the remaining compopts with `--legacy-classes`,
as of 92fc605 - #13598 needs updating:

* The compile-time control-flow-based nil checking works differently
  in the presence of nilable types:

      classes/delete-free/nil-checking/nil-check-control.chpl
      classes/delete-free/nil-checking/nilcheck-empty-refs.chpl
      classes/delete-free/nil-checking/nilcheck.chpl

* Compile-time control-flow-based nil checking, this is a wish item:

      classes/vass/if-object-2.chpl

* Related to owned/shared - I suspect straightforward to update:

      classes/ferguson/class-double-modifier.chpl

* Old-style runtime nil checking #13625, intentionally legacy:

      classes/diten/callNilClassesMethod.chpl
      classes/diten/nilDynamicDispatch.chpl

* Related to nilability; probably intentionally legacy:

      classes/delete-free/default-arg-typeless-error.chpl
      classes/delete-free/default-arg-typeless-legacy.chpl

* Intentional legacy checking:

      classes/errors/newValueNotType2.chpl
      compflags/ferguson/unstable-class.chpl
      compflags/ferguson/unstable-owned-shared-intent2.chpl

While there, remove .compopts with `--no-legacy-classes`.

r: @mppf
@vasslitvinov
Copy link
Member Author

@bradcray - perhaps unpin this issue now?

@vasslitvinov
Copy link
Member Author

This issue has served its purpose. Closing.

The individual issues linked from here are unaffected by closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants