Skip to content

Compiler crash with closure types with sending #79982

Open
@kateinoigakukun

Description

@kateinoigakukun

Description

It seems there is something wrong in inlining code with generic parameters including sending

Reproduction

public func check() {
    var items: [Int: (sending Int) -> Void] = [:]
    items[0] = nil
}
swift-frontend -c check.swift -g -O

Note that this only crashes with assertion enabled compilers on macOS for some reasons.

Stack dump

Assertion failed: (type1->getDecl() != type2->getDecl()), function visitNominalType, file TypeDifferenceVisitor.h, line 194.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.      Program arguments: /Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend -c check.swift -g -O
1.      Apple Swift version 6.2-dev (LLVM 81859ac55f8d09a, Swift 8ec8a1229a7ea14)
2.      Compiling with effective version 5.10
3.      While evaluating request IRGenRequest(IR Generation for module check)
4.      While emitting IR SIL function "@$s5checkAAyyF".
 for 'check()' (at check.swift:1:8)
 #0 0x000000010a425f60 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x10613df60)
 #1 0x000000010a424644 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x10613c644)
 #2 0x000000010a4265bc (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x10613e5bc)
 #3 0x000000018c49c184 (/usr/lib/system/libsystem_platform.dylib+0x180484184)
 #4 0x000000018c466f70 (/usr/lib/system/libsystem_pthread.dylib+0x18044ef70)
 #5 0x000000018c373908 (/usr/lib/system/libsystem_c.dylib+0x18035b908)
 #6 0x000000018c372c1c (/usr/lib/system/libsystem_c.dylib+0x18035ac1c)
 #7 0x000000010a4e81b8 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1062001b8)
 #8 0x0000000104abd2b4 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007d52b4)
 #9 0x0000000104ab5800 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007cd800)
#10 0x0000000104ab66a8 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007ce6a8)
#11 0x0000000104aaebd0 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007c6bd0)
#12 0x0000000104aae3e8 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007c63e8)
#13 0x0000000104aad3c8 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007c53c8)
#14 0x0000000104af1e4c (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x100809e4c)
#15 0x0000000104af1308 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x100809308)
#16 0x00000001049854c0 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x10069d4c0)
#17 0x0000000104aa204c (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007ba04c)
#18 0x0000000104af06d4 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1008086d4)
#19 0x0000000104aaa650 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007c2650)
#20 0x0000000104aa3108 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1007bb108)
#21 0x0000000104571604 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x100289604)
#22 0x000000010456e2b4 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1002862b4)
#23 0x000000010456d944 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x100285944)
#24 0x00000001045796a4 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1002916a4)
#25 0x000000010456f418 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x100287418)
#26 0x000000010456ec34 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x100286c34)
#27 0x00000001043211b8 (/Users/katei/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2025-01-10-a.xctoolchain/usr/bin/swift-frontend+0x1000391b8)
#28 0x000000018c0e4274

Expected behavior

No crash

Environment

  • Toolchain: swift-DEVELOPMENT-SNAPSHOT-2025-03-10-a
  • Operating System: macOS 15.1.1 (24B91)
  • Target: arm64-apple-macosx15.0

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.concurrencyFeature: umbrella label for concurrency language featurescrashBug: A crash, i.e., an abnormal termination of softwaretriage neededThis issue needs more specific labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions