1. Non-actor initializers should participate in custom default isolation
inference. Otherwise, they will not be able to touch the type's stored
properties to initialize them if those properties have the default
isolation inferred.
2. All declarations inside actors and distributed actors do not participate
in default isolation inference; they remain unspecified, so the existing
isolation inference rules apply.
I also added a small runtime test just as a sanity check. We do not change any
codegen here since the change is at the Sema level... but I thought it would be
prudent to at least have a small smoke test.
rdar://140439795
Find all the usages of `--enable-experimental-feature` or
`--enable-upcoming-feature` in the tests and replace some of the
`REQUIRES: asserts` to use `REQUIRES: swift-feature-Foo` instead, which
should correctly apply to depending on the asserts/noasserts mode of the
toolchain for each feature.
Remove some comments that talked about enabling asserts since they don't
apply anymore (but I might had miss some).
All this was done with an automated script, so some formatting weirdness
might happen, but I hope I fixed most of those.
There might be some tests that were `REQUIRES: asserts` that might run
in `noasserts` toolchains now. This will normally be because their
feature went from experimental to upcoming/base and the tests were not
updated.
Two test using an experimental feature UnspecifiedMeansMainActorIsolated
are not marking as `REQUIRES: asserts` and are failing when asserts are
disabled.
Introduced in #76558