[SR-15111] “Type of expression is ambiguous” error when initializing a class
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 32/100
Rechercherichtung
Führe das bereitgestellte Swift-Beispiel in der angegebenen Xcode-Umgebung aus und vergleiche die Diagnosen für das direkte Argument eines optionalen Members und die Zwischenvariable. Untersuche das Compiler-TypeChecker-Verhalten, das durch die Labels Compiler und TypeChecker beschrieben wird; abgeschlossen ist die Aufgabe, wenn der direkte Aufruf dieselbe Typkonflikt-Diagnose wie der zweite Aufruf meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
| Previous ID | SR-15111 |
| Radar | rdar://problem/82407752 |
| Original Reporter | elidy (JIRA User) |
| Type | Bug |
Environment
Xcode Version 13.0 beta 4 (13A5201i)
Additional Detail from JIRA
| Votes | 0 |
| Component/s | Compiler |
| Labels | Bug, DiagnosticsQoI, StarterBug, TypeChecker |
| Assignee | elidy (JIRA) |
| Priority | Medium |
md5: 37c1160eb7b2424ea42b3ec849906fef
Issue Description:
When a class is initialized, passing an argument as a property of an optional class instance of incorrect type results in “Type of expression is ambiguous” error.
class IntClass {
var int: Int?
init(int: Int?) {
self.int = int
}
}
class StringClass {
var string: String? = "hello"
}
var stringClass: StringClass? = StringClass()
IntClass(int: stringClass?.string)
//Type of expression is ambiguous without more context
//Expected error: Cannot convert value of type 'String?' to expected argument type 'Int?'
var stringValue = stringClass?.string
IntClass(int: stringValue)
//Cannot convert value of type 'String?' to expected argument type 'Int?'
- Vorherrschende Sprache
- Swift
- Sterne
- 70.4k
- Forks
- 10.8k
- Ø Merge
- 2 T. 2 Std.
- Gemergte PRs (30 T.)
- 461
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus swiftlang/swift
-
triage needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
triage needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Foundation Windows
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
triage needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
triage needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Alle Issues in swiftlang/swift
Ähnliche Issues
-
type: docs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100
googleapis/google-cloud-swift#971 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
bitcoindevkit/bdk-ffi#1125 ·
-
Move wallpaper setting Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
mozilla-mobile/firefox-ios#35743 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
manaflow-ai/cmux#13417 ·
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
ionic-team/capacitor#8616 ·