-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Open
Labels
bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.A deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfThe Swift compiler itself
Description
Previous ID | SR-15153 |
Radar | rdar://problem/82740964 |
Original Reporter | @typesanitizer |
Type | Bug |
Additional Detail from JIRA
Votes | 0 |
Component/s | Compiler |
Labels | Bug |
Assignee | None |
Priority | Medium |
md5: e9218a9fd8bb3e3fddea7dcb5ec9629e
Issue Description:
import SwiftUI
struct MyView: View {
@State var array = [1, 2, 3]
var body: some View {
Button("Remove first") {
withAnimation {
array.remove(at: 0)
}
}
}
}
$ xcrun swiftc tmp.swift
tmp.swift:9:9: error: ambiguous use of 'remove(at:)'
array.remove(at: 0)
^
Swift.Array:10:37: note: found this candidate
@inlinable public mutating func remove(at index: Int) -> Element
^
Swift.RangeReplaceableCollection:9:37: note: found this candidate
@inlinable public mutating func remove(at position: Self.Index) -> Self.Element
^
It's not clear what this error means. It looks like the remove(at🙂
in Swift.Array
is a witness for the requirement remove(at🙂
for RangeReplaceableCollection
, so there shouldn't be any ambiguity.
The error goes away if you don't use withAnimation
. Tested with recent main
.
Metadata
Metadata
Assignees
Labels
bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.A deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfThe Swift compiler itself