-
Notifications
You must be signed in to change notification settings - Fork 424
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
Comments
vasslitvinov
changed the title
Nil checking meta-issue
Non-nilable type checking meta-issue
Aug 1, 2019
By pinning this issue, my concern is more w.r.t. the tests that are requiring |
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
@bradcray - perhaps unpin this issue now? |
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
This is a summary of nilability / nil checking issues.
Starting point: nilable types #12614
Design-ish
const ref
version of owned.borrow() ? should owned.borrow() have a const ref version? #13638!
w.r.t.--fast
and performance impact Should runtime check in '!' operator run upon --fast ? #13603Convenience features
!
for accessing param fields and similar Should not need '!' for accessing param fields and similar #13617 (resolved), Should not need '!' for accessing compile-time properties of a field #14705 (open)Bugs, would-be-nice
Resolved issues
--legacy-classes
option--legacy-classes
!
Prototype modules to no longer enable implicit '!' #14559!
to be applied to typesnew owned (value)
(?) How to create ownership for an unmanaged class? #14300?
-- postfix-? leads to "error: cannot convert to a pointer type" #13759--no-legacy-classes
by default--no-legacy-classes
new [flavor] C()?
mean? What should 'new [flavor] C()?' mean? #13619x!
be an alias tox
? Design: should the result of 'x!' be an alias to 'x' ? #13621The text was updated successfully, but these errors were encountered: