Commit Graph

5 Commits

Author SHA1 Message Date
Andrew Trick
a8c45c55c4 Fix MoveOnlyAddressChecker to handle value deinits.
Track liveness of self so we don't accidentally think that such types
can be memberwise reinitialized.

Fixes rdar://110232973 ([move-only] Checker should distinguish in
between field of single field struct vs parent field itself (was:
mutation of field in noncopyable struct should not trigger deinit))
2023-06-19 18:38:03 -07:00
Kavon Farvardin
7ad1683ac9 Merge pull request #66005 from kavon/optimize-noncopyables
add optimizations-on variants directly in the noncopyable tests
2023-05-22 21:40:33 -07:00
Kavon Farvardin
37cc8cb174 add optimizations-on variants directly in noncopyable tests 2023-05-22 17:17:52 -07:00
Kavon Farvardin
da9847a841 fix typechecking for discard in generics
Don't use `getDeclaredTypeInContext` it gives
the wrong types for generic params.

rdar://108975216
2023-05-15 15:37:23 -07:00
Kavon Farvardin
3e4bc82aa8 rename _forget to discard; deprecate _forget
SE-390 concluded with choosing the keyword discard rather than forget for
the statement that disables the deinit of a noncopyable type. This commit
adds parsing support for `discard self` and adds a deprecation warning for
`_forget self`.

rdar://108859077
2023-05-08 21:42:19 -07:00