@@ -2104,8 +2104,9 @@ namespace {
2104
2104
return handleInfinite (structType, properties);
2105
2105
}
2106
2106
2107
- if (handleResilience (structType, D, properties))
2107
+ if (handleResilience (structType, D, properties)) {
2108
2108
return handleAddressOnly (structType, properties);
2109
+ }
2109
2110
2110
2111
if (D->isCxxNonTrivial ()) {
2111
2112
properties.setAddressOnly ();
@@ -2141,6 +2142,13 @@ namespace {
2141
2142
properties =
2142
2143
applyLifetimeAnnotation (D->getLifetimeAnnotation (), properties);
2143
2144
2145
+ if (D->isMoveOnly ()) {
2146
+ properties.setNonTrivial ();
2147
+ if (properties.isAddressOnly ())
2148
+ return handleMoveOnlyAddressOnly (structType, properties);
2149
+ return handleMoveOnlyReference (structType, properties);
2150
+ }
2151
+
2144
2152
return handleAggregateByProperties<LoadableStructTypeLowering>(structType,
2145
2153
properties);
2146
2154
}
@@ -2211,6 +2219,13 @@ namespace {
2211
2219
properties =
2212
2220
applyLifetimeAnnotation (D->getLifetimeAnnotation (), properties);
2213
2221
2222
+ if (D->isMoveOnly ()) {
2223
+ properties.setNonTrivial ();
2224
+ if (properties.isAddressOnly ())
2225
+ return handleMoveOnlyAddressOnly (enumType, properties);
2226
+ return handleMoveOnlyReference (enumType, properties);
2227
+ }
2228
+
2214
2229
return handleAggregateByProperties<LoadableEnumTypeLowering>(enumType,
2215
2230
properties);
2216
2231
}
0 commit comments