Skip to content

[SR-15128] LLDB Crash #4305

Open
Open
@swift-ci

Description

@swift-ci
Previous ID SR-15128
Radar rdar://problem/82543261
Original Reporter dalk (JIRA User)
Type Bug
Environment

xcode 12.5.0

Additional Detail from JIRA
Votes 0
Component/s Compiler, LLDB for Swift
Labels Bug
Assignee @adrian-prantl
Priority Medium

md5: 1411048b52a88fb0a49aecc05e14bcc1

Issue Description:

100 % reproducible crash when compiling this piece of code. Please note that if MyClass is a struct, it doesnt crash. Same if we change "if let entry = entry" to "if let anything = entry"

class MyClass {

**let** value: Int



**init**(value: Int)

{ self.value = value }

}

func test() {

**let** cachedImages: ThreadSafeMap\<String, MyClass\> = ThreadSafeMap\<String, MyClass\>(label: "")



**let** entry = cachedImages.get(key: "toto")



**guard** **let** entry = entry **else**

{ return }

}

public class ThreadSafeMap<T: Hashable, U: AnyObject> {

**private** **var** map: \[T: U\] = \[:\]

**private** **let** cacheAccessQueue: DispatchQueue



**public** **init**(label: String)

{ self.cacheAccessQueue = DispatchQueue(label: label, qos: .userInitiated, attributes: .concurrent) }

**public** **func** get(key: T) -\> U? {

    cacheAccessQueue.sync

{ return map[key] }

}

}

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions