Skip to content

Commit 415fe04

Browse files
Merge pull request #79002 from AnthonyLatsis/rattus-rattus
[NFC] Switch from backticks to quotes in several diagnostics
2 parents 44fa650 + eeb9911 commit 415fe04

14 files changed

+45
-45
lines changed

include/swift/AST/DiagnosticsSema.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5597,7 +5597,7 @@ ERROR(concurrent_access_of_inout_param,none,
55975597
"concurrently-executing code",
55985598
(DeclName))
55995599
ERROR(non_sendable_capture,none,
5600-
"capture of %1 with non-sendable type %0 in a `@Sendable` "
5600+
"capture of %1 with non-sendable type %0 in a '@Sendable' "
56015601
"%select{local function|closure}2",
56025602
(Type, DeclName, bool))
56035603
ERROR(non_sendable_isolated_capture,none,
@@ -5608,7 +5608,7 @@ ERROR(self_capture_deinit_task,none,
56085608
"capture of 'self' in a closure that outlives deinit",
56095609
())
56105610
ERROR(implicit_non_sendable_capture,none,
5611-
"implicit capture of %1 requires that %0 conforms to `Sendable`",
5611+
"implicit capture of %1 requires that %0 conforms to 'Sendable'",
56125612
(Type, DeclName))
56135613

56145614
NOTE(actor_isolated_sync_func,none,

test/ClangImporter/objc_async.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,22 +137,22 @@ func testSendableAttrs(
137137

138138
doSomethingConcurrently {
139139
print(sendableClass) // no-error
140-
print(nonSendableClass) // expected-warning{{capture of 'nonSendableClass' with non-sendable type 'NonSendableClass' in a `@Sendable` closure}}
140+
print(nonSendableClass) // expected-warning{{capture of 'nonSendableClass' with non-sendable type 'NonSendableClass' in a '@Sendable' closure}}
141141

142142
print(sendableEnum) // no-error
143-
print(nonSendableEnum) // expected-warning{{capture of 'nonSendableEnum' with non-sendable type 'NonSendableEnum' in a `@Sendable` closure}}
143+
print(nonSendableEnum) // expected-warning{{capture of 'nonSendableEnum' with non-sendable type 'NonSendableEnum' in a '@Sendable' closure}}
144144

145145
print(sendableOptions) // no-error
146-
print(nonSendableOptions) // expected-warning{{capture of 'nonSendableOptions' with non-sendable type 'NonSendableOptions' in a `@Sendable` closure}}
146+
print(nonSendableOptions) // expected-warning{{capture of 'nonSendableOptions' with non-sendable type 'NonSendableOptions' in a '@Sendable' closure}}
147147

148148
print(sendableError) // no-error
149149
print(nonSendableError) // no-error--we don't respect `@_nonSendable` on `ns_error_domain` types because all errors are Sendable
150150

151151
print(sendableStringEnum) // no-error
152-
print(nonSendableStringEnum) // expected-warning{{capture of 'nonSendableStringEnum' with non-sendable type 'NonSendableStringEnum' in a `@Sendable` closure}}
152+
print(nonSendableStringEnum) // expected-warning{{capture of 'nonSendableStringEnum' with non-sendable type 'NonSendableStringEnum' in a '@Sendable' closure}}
153153

154154
print(sendableStringStruct) // no-error
155-
print(nonSendableStringStruct) // expected-warning{{capture of 'nonSendableStringStruct' with non-sendable type 'NonSendableStringStruct' in a `@Sendable` closure}}
155+
print(nonSendableStringStruct) // expected-warning{{capture of 'nonSendableStringStruct' with non-sendable type 'NonSendableStringStruct' in a '@Sendable' closure}}
156156
}
157157
}
158158

test/Concurrency/actor_isolation.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,7 @@ func checkLocalFunctions() async {
742742

743743
// Escaping closures can make the local function execute concurrently.
744744
acceptConcurrentClosure {
745-
local2() // expected-warning{{capture of 'local2()' with non-sendable type '() -> ()' in a `@Sendable` closure}}
745+
local2() // expected-warning{{capture of 'local2()' with non-sendable type '() -> ()' in a '@Sendable' closure}}
746746
// expected-note@-1{{a function type must be marked '@Sendable' to conform to 'Sendable'}}
747747
}
748748

@@ -752,7 +752,7 @@ func checkLocalFunctions() async {
752752
var k = 17
753753
func local4() {
754754
acceptConcurrentClosure {
755-
local3() // expected-warning{{capture of 'local3()' with non-sendable type '() -> ()' in a `@Sendable` closure}}
755+
local3() // expected-warning{{capture of 'local3()' with non-sendable type '() -> ()' in a '@Sendable' closure}}
756756
// expected-note@-1{{a function type must be marked '@Sendable' to conform to 'Sendable'}}
757757
}
758758
}

test/Concurrency/concurrent_value_checking.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,8 @@ func testConcurrency() {
210210
print(y) // okay
211211
}
212212
acceptConcurrent {
213-
print(x) // expected-warning{{capture of 'x' with non-sendable type 'NotConcurrent' in a `@Sendable` closure}}
214-
print(y) // expected-warning{{capture of 'y' with non-sendable type 'NotConcurrent' in a `@Sendable` closure}}
213+
print(x) // expected-warning{{capture of 'x' with non-sendable type 'NotConcurrent' in a '@Sendable' closure}}
214+
print(y) // expected-warning{{capture of 'y' with non-sendable type 'NotConcurrent' in a '@Sendable' closure}}
215215
// expected-warning@-1{{reference to captured var 'y' in concurrently-executing code}}
216216
}
217217
}
@@ -308,7 +308,7 @@ func acceptConcurrentUnary<T>(_: @Sendable (T) -> T) { }
308308
func concurrentClosures<T>(_: T) { // expected-note{{consider making generic parameter 'T' conform to the 'Sendable' protocol}} {{26-26=: Sendable}}
309309
acceptConcurrentUnary { (x: T) in
310310
_ = x // ok
311-
acceptConcurrentUnary { _ in x } // expected-warning{{capture of 'x' with non-sendable type 'T' in a `@Sendable` closure}}
311+
acceptConcurrentUnary { _ in x } // expected-warning{{capture of 'x' with non-sendable type 'T' in a '@Sendable' closure}}
312312
let y: T? = nil
313313
return y!
314314
}
@@ -475,7 +475,7 @@ enum E12<T>: UnsafeSendable { // expected-warning{{'UnsafeSendable' is deprecate
475475
func testSendableOptionalInference(nc: NotConcurrent) {
476476
var fn: (@Sendable () -> Void)? = nil
477477
fn = {
478-
print(nc) // expected-warning{{capture of 'nc' with non-sendable type 'NotConcurrent' in a `@Sendable` closure}}
478+
print(nc) // expected-warning{{capture of 'nc' with non-sendable type 'NotConcurrent' in a '@Sendable' closure}}
479479
}
480480
_ = fn
481481
}

test/Concurrency/preconcurrency_typealias.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func testAsync() async {
6060
class C { // expected-complete-tns-note {{class 'C' does not conform to the 'Sendable' protocol}}
6161
func test() {
6262
f(arg: 5, withFn: { [weak self] () -> OtherHandler? in
63-
_ = self // expected-complete-tns-warning {{capture of 'self' with non-sendable type 'C?' in a `@Sendable` closure}}
63+
_ = self // expected-complete-tns-warning {{capture of 'self' with non-sendable type 'C?' in a '@Sendable' closure}}
6464
return nil
6565
})
6666
}

test/Concurrency/predates_concurrency.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,9 @@ class C { // expected-complete-tns-note {{'C' does not conform to the 'Sendable'
201201
func doNext() { // expected-complete-tns-warning {{concurrently-executed local function 'doNext()' must be marked as '@Sendable'}}
202202
doPreconcurrency {
203203
self.ev?.scheduleTask(deadline: i, doNext)
204-
// expected-complete-tns-warning @-1 {{capture of 'self' with non-sendable type 'C' in a `@Sendable` closure}}
204+
// expected-complete-tns-warning @-1 {{capture of 'self' with non-sendable type 'C' in a '@Sendable' closure}}
205205
// expected-complete-tns-warning @-2 {{converting non-sendable function value to '@Sendable () throws -> ()' may introduce data races}}
206-
// expected-complete-tns-warning @-3 {{capture of 'doNext()' with non-sendable type '() -> ()' in a `@Sendable` closure}}
206+
// expected-complete-tns-warning @-3 {{capture of 'doNext()' with non-sendable type '() -> ()' in a '@Sendable' closure}}
207207
// expected-complete-tns-note @-4 {{a function type must be marked '@Sendable' to conform to 'Sendable'}}
208208
return
209209
}

test/Concurrency/sendable_checking.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ func testLocalCaptures() {
351351
@Sendable
352352
func a2() -> NonSendable {
353353
return ns
354-
// expected-complete-and-tns-warning @-1 {{capture of 'ns' with non-sendable type 'NonSendable' in a `@Sendable` local function}}
354+
// expected-complete-and-tns-warning @-1 {{capture of 'ns' with non-sendable type 'NonSendable' in a '@Sendable' local function}}
355355
}
356356
}
357357

@@ -433,7 +433,7 @@ struct DowngradeForPreconcurrency {
433433
preconcurrencyContext {
434434
Task {
435435
completion()
436-
// expected-warning@-1 {{capture of 'completion' with non-sendable type '@MainActor () -> Void' in a `@Sendable` closure}}
436+
// expected-warning@-1 {{capture of 'completion' with non-sendable type '@MainActor () -> Void' in a '@Sendable' closure}}
437437
// expected-warning@-2 {{capture of 'completion' with non-sendable type '@MainActor () -> Void' in an isolated closure}}
438438
// expected-note@-3 2 {{a function type must be marked '@Sendable' to conform to 'Sendable'}}
439439
// expected-warning@-4 {{expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode}}

test/Concurrency/sendable_checking_captures_swift5.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@ var testLocalCaptures: Int {
99
let ns = NonSendable()
1010

1111
@Sendable func localFunc() -> NonSendable {
12-
return ns // expected-complete-warning {{capture of 'ns' with non-sendable type 'NonSendable' in a `@Sendable` local function}}
12+
return ns // expected-complete-warning {{capture of 'ns' with non-sendable type 'NonSendable' in a '@Sendable' local function}}
1313
}
1414

15-
callee { return ns } // expected-complete-warning {{capture of 'ns' with non-sendable type 'NonSendable' in a `@Sendable` closure}}
15+
callee { return ns } // expected-complete-warning {{capture of 'ns' with non-sendable type 'NonSendable' in a '@Sendable' closure}}
1616

1717
return 3
1818
}
1919

2020
struct Bad {
2121
var c: Int = {
2222
let ns = NonSendable()
23-
callee { return ns } // expected-complete-warning {{capture of 'ns' with non-sendable type 'NonSendable' in a `@Sendable` closure}}
23+
callee { return ns } // expected-complete-warning {{capture of 'ns' with non-sendable type 'NonSendable' in a '@Sendable' closure}}
2424
return 3
2525
}()
2626
}
@@ -40,13 +40,13 @@ do {
4040
withMutable { test in
4141
sendable {
4242
test.update()
43-
// expected-complete-warning@-1 {{capture of 'test' with non-sendable type 'Test' in a `@Sendable` closure}}
43+
// expected-complete-warning@-1 {{capture of 'test' with non-sendable type 'Test' in a '@Sendable' closure}}
4444
// expected-warning@-2 {{mutable capture of 'inout' parameter 'test' is not allowed in concurrently-executing code}}
4545
}
4646

4747
sendable_preconcurrency {
4848
test.update()
49-
// expected-complete-warning@-1 {{capture of 'test' with non-sendable type 'Test' in a `@Sendable` closure}}
49+
// expected-complete-warning@-1 {{capture of 'test' with non-sendable type 'Test' in a '@Sendable' closure}}
5050
// expected-complete-warning@-2 {{mutable capture of 'inout' parameter 'test' is not allowed in concurrently-executing code}}
5151
}
5252
}
@@ -63,7 +63,7 @@ func testPreconcurrencyDowngrade(ns: NotSendable) {
6363
var x = 0
6464
withSendableClosure {
6565
_ = ns
66-
// expected-complete-warning@-1 {{capture of 'ns' with non-sendable type 'NotSendable' in a `@Sendable` closure}}
66+
// expected-complete-warning@-1 {{capture of 'ns' with non-sendable type 'NotSendable' in a '@Sendable' closure}}
6767

6868
x += 1
6969
// expected-complete-warning@-1 {{mutation of captured var 'x' in concurrently-executing code}}
@@ -92,5 +92,5 @@ do {
9292

9393
let c: Class
9494
test(c)
95-
// expected-complete-warning@-1:8 {{implicit capture of 'c' requires that 'Class' conforms to `Sendable`; this is an error in the Swift 6 language mode}}
95+
// expected-complete-warning@-1:8 {{implicit capture of 'c' requires that 'Class' conforms to 'Sendable'; this is an error in the Swift 6 language mode}}
9696
}

test/Concurrency/sendable_checking_captures_swift6.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ var testLocalCaptures: Int {
88
let ns = NonSendable()
99

1010
@Sendable func localFunc() -> NonSendable {
11-
return ns // expected-error {{capture of 'ns' with non-sendable type 'NonSendable' in a `@Sendable` local function}}
11+
return ns // expected-error {{capture of 'ns' with non-sendable type 'NonSendable' in a '@Sendable' local function}}
1212
}
1313

14-
callee { return ns } // expected-error {{capture of 'ns' with non-sendable type 'NonSendable' in a `@Sendable` closure}}
14+
callee { return ns } // expected-error {{capture of 'ns' with non-sendable type 'NonSendable' in a '@Sendable' closure}}
1515

1616
return 3
1717
}
1818

1919
struct Bad {
2020
var c: Int = {
2121
let ns = NonSendable()
22-
callee { return ns } // expected-error {{capture of 'ns' with non-sendable type 'NonSendable' in a `@Sendable` closure}}
22+
callee { return ns } // expected-error {{capture of 'ns' with non-sendable type 'NonSendable' in a '@Sendable' closure}}
2323
return 3
2424
}()
2525
}
@@ -39,13 +39,13 @@ do {
3939
withMutable { test in
4040
sendable {
4141
test.update()
42-
// expected-error@-1 {{capture of 'test' with non-sendable type 'Test' in a `@Sendable` closure}}
42+
// expected-error@-1 {{capture of 'test' with non-sendable type 'Test' in a '@Sendable' closure}}
4343
// expected-error@-2 {{mutable capture of 'inout' parameter 'test' is not allowed in concurrently-executing code}}
4444
}
4545

4646
sendable_preconcurrency {
4747
test.update()
48-
// expected-warning@-1 {{capture of 'test' with non-sendable type 'Test' in a `@Sendable` closure}}
48+
// expected-warning@-1 {{capture of 'test' with non-sendable type 'Test' in a '@Sendable' closure}}
4949
// expected-warning@-2 {{mutable capture of 'inout' parameter 'test' is not allowed in concurrently-executing code}}
5050
}
5151
}

test/Concurrency/strict_concurrency_minimal.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,22 @@ func passSendable(
4242
) async {
4343
// Don't warn about implicitly non-Sendable types when minimal is
4444
// enabled... but do when we are doing targeted
45-
takeSendable { print(c1) } // expected-targeted-warning {{capture of 'c1' with non-sendable type 'C1' in a `@Sendable` closure}}
46-
takeSendable { print(fn) } // expected-targeted-warning {{capture of 'fn' with non-sendable type '() -> Void' in a `@Sendable` closure}}
45+
takeSendable { print(c1) } // expected-targeted-warning {{capture of 'c1' with non-sendable type 'C1' in a '@Sendable' closure}}
46+
takeSendable { print(fn) } // expected-targeted-warning {{capture of 'fn' with non-sendable type '() -> Void' in a '@Sendable' closure}}
4747
// expected-targeted-note @-1 {{a function type must be marked '@Sendable' to conform to 'Sendable'}}
4848

4949
// Warn about explicitly non-Sendable types
50-
takeSendable { print(c2) } // expected-warning {{capture of 'c2' with non-sendable type 'C2' in a `@Sendable` closure}}
51-
takeSendable { print(c3) } // expected-warning {{capture of 'c3' with non-sendable type 'C3' in a `@Sendable` closure}}
50+
takeSendable { print(c2) } // expected-warning {{capture of 'c2' with non-sendable type 'C2' in a '@Sendable' closure}}
51+
takeSendable { print(c3) } // expected-warning {{capture of 'c3' with non-sendable type 'C3' in a '@Sendable' closure}}
5252

5353
// Don't warn about explicitly Sendable type, even when it's wrong.
5454
takeSendable { print(s1) }
5555

5656
// Don't warn when we wrapped an implicitly non-Sendable type in a struct unless we are >= targeted
57-
takeSendable { print(s2) } // expected-targeted-warning {{capture of 's2' with non-sendable type 'S2' in a `@Sendable` closure}}
57+
takeSendable { print(s2) } // expected-targeted-warning {{capture of 's2' with non-sendable type 'S2' in a '@Sendable' closure}}
5858

5959
// FIXME: Ideally, we would warn about cases where a type in this module is
6060
// inferred to be non-Sendable based on something explicitly non-Sendable,
6161
// like in the case below. We do warn about it with >= targeted.
62-
takeSendable { print(s3) } // expected-targeted-warning {{capture of 's3' with non-sendable type 'S3' in a `@Sendable` closure}}
62+
takeSendable { print(s3) } // expected-targeted-warning {{capture of 's3' with non-sendable type 'S3' in a '@Sendable' closure}}
6363
}

test/Concurrency/taskgroup_cancelAll_from_child.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ func test_taskGroup_cancelAll() async {
1717
}
1818

1919
group.spawn { // expected-error {{escaping closure captures 'inout' parameter 'group'}}
20-
group.cancelAll() //expected-warning{{capture of 'group' with non-sendable type 'TaskGroup<Int>' in a `@Sendable` closure}}
20+
group.cancelAll() //expected-warning{{capture of 'group' with non-sendable type 'TaskGroup<Int>' in a '@Sendable' closure}}
2121
//expected-warning@-1{{mutable capture of 'inout' parameter 'group' is not allowed in concurrently-executing code; this is an error in the Swift 6 language mode}}
2222
// expected-note@-2 {{captured here}}
2323

2424
return 0
2525
}
2626
group.spawn { [group] in
27-
group.cancelAll() //expected-warning{{capture of 'group' with non-sendable type 'TaskGroup<Int>' in a `@Sendable` closure}}
27+
group.cancelAll() //expected-warning{{capture of 'group' with non-sendable type 'TaskGroup<Int>' in a '@Sendable' closure}}
2828
return 0
2929
}
3030
_ = await group.next()

test/Concurrency/transfernonsendable.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -593,14 +593,14 @@ func testConversionsAndSendable(a: MyActor, f: @Sendable () -> Void, f2: () -> V
593593
func testSendableClosureCapturesNonSendable(a: MyActor) {
594594
let klass = NonSendableKlass()
595595
let _ = { @Sendable in
596-
_ = klass // expected-warning {{capture of 'klass' with non-sendable type 'NonSendableKlass' in a `@Sendable` closure}}
596+
_ = klass // expected-warning {{capture of 'klass' with non-sendable type 'NonSendableKlass' in a '@Sendable' closure}}
597597
}
598598
}
599599

600600
func testSendableClosureCapturesNonSendable2(a: FinalMainActorIsolatedKlass) {
601601
let klass = NonSendableKlass()
602602
let _ = { @Sendable @MainActor in
603-
a.klass = klass // expected-complete-warning {{capture of 'klass' with non-sendable type 'NonSendableKlass' in a `@Sendable` closure}}
603+
a.klass = klass // expected-complete-warning {{capture of 'klass' with non-sendable type 'NonSendableKlass' in a '@Sendable' closure}}
604604
}
605605
}
606606

@@ -1548,7 +1548,7 @@ func functionArgumentIntoClosure(_ x: @escaping () -> ()) async {
15481548
let _ = { @MainActor in
15491549
let _ = x // expected-tns-warning {{sending 'x' risks causing data races}}
15501550
// expected-tns-note @-1 {{task-isolated 'x' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses}}
1551-
// expected-complete-warning @-2 {{capture of 'x' with non-sendable type '() -> ()' in a `@Sendable` closure}}
1551+
// expected-complete-warning @-2 {{capture of 'x' with non-sendable type '() -> ()' in a '@Sendable' closure}}
15521552
// expected-complete-note @-3 {{a function type must be marked '@Sendable' to conform to 'Sendable'}}
15531553
}
15541554
}
@@ -1736,7 +1736,7 @@ func sendableGlobalActorIsolated() {
17361736
let _ = { @Sendable @MainActor in
17371737
print(x) // expected-tns-warning {{sending 'x' risks causing data races}}
17381738
// expected-tns-note @-1 {{'x' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses}}
1739-
// expected-complete-warning @-2 {{capture of 'x' with non-sendable type 'NonSendableKlass' in a `@Sendable` closure}}
1739+
// expected-complete-warning @-2 {{capture of 'x' with non-sendable type 'NonSendableKlass' in a '@Sendable' closure}}
17401740
}
17411741
print(x) // expected-tns-note {{access can happen concurrently}}
17421742
}

test/Concurrency/transfernonsendable_global_actor.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ struct Clock {
209209
// nonisolated instead of custom actor isolated.
210210
print(ns) // expected-tns-warning {{sending 'ns' risks causing data races}}
211211
// expected-tns-note @-1 {{global actor 'CustomActor'-isolated 'ns' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses}}
212-
// expected-complete-warning @-2 {{capture of 'ns' with non-sendable type 'NonSendableKlass' in a `@Sendable` closure}}
212+
// expected-complete-warning @-2 {{capture of 'ns' with non-sendable type 'NonSendableKlass' in a '@Sendable' closure}}
213213
}
214214

215215
useValue(ns)

test/Concurrency/voucher_propagation.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ func withVouchers(call: @Sendable @escaping (voucher_t?, voucher_t?, voucher_t?)
228228

229229
// Clear any voucher that the call adopted.
230230
adopt(voucher: nil)
231-
group.leave() // expected-complete-tns-warning {{capture of 'group' with non-sendable type 'DispatchGroup' in a `@Sendable` closure}}
231+
group.leave() // expected-complete-tns-warning {{capture of 'group' with non-sendable type 'DispatchGroup' in a '@Sendable' closure}}
232232
}
233233
group.wait()
234234

@@ -417,7 +417,7 @@ if #available(SwiftStdlib 5.1, *) {
417417
_ = await (g, add)
418418

419419
if await n.get() >= limit {
420-
group.leave() // expected-warning 2{{capture of 'group' with non-sendable type 'DispatchGroup' in a `@Sendable` closure}}
420+
group.leave() // expected-warning 2{{capture of 'group' with non-sendable type 'DispatchGroup' in a '@Sendable' closure}}
421421
} else {
422422
await n.increment()
423423
await detachedTask()

0 commit comments

Comments
 (0)