File tree Expand file tree Collapse file tree 2 files changed +8
-2
lines changed
test/SILOptimizer/lifetime_dependence Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -4561,6 +4561,10 @@ SILParameterInfo TypeResolver::resolveSILParameter(
4561
4561
4562
4562
std::optional<TypeAttrSet> attrsBuffer;
4563
4563
TypeAttrSet *attrs = nullptr ;
4564
+
4565
+ if (auto *lifetimeRepr = dyn_cast<LifetimeDependentTypeRepr>(repr)) {
4566
+ repr = lifetimeRepr->getBase ();
4567
+ }
4564
4568
if (yieldAttrs) {
4565
4569
attrs = yieldAttrs;
4566
4570
assert (!isa<AttributedTypeRepr>(repr));
Original file line number Diff line number Diff line change @@ -13,8 +13,6 @@ sil_stage raw
13
13
14
14
class C {}
15
15
16
- @_marker public protocol Escapable { }
17
-
18
16
struct Nonescapable: ~Escapable {}
19
17
20
18
sil @c_dependence : $@convention(thin) (@guaranteed C) -> _scope(0) @owned Nonescapable
52
50
%t = tuple ()
53
51
return %t : $()
54
52
}
53
+
54
+ public struct Container<Element> : ~Copyable, ~Escapable where Element : ~Copyable {}
55
+
56
+ sil [ossa] @parseInoutDep : $@convention(method) <Element where Element : ~Copyable> (_lifetime(_copy 0) @inout Container<Element>) -> ()
You can’t perform that action at this time.
0 commit comments