mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Allow Comparable: ~Copyable (#85747)
Builds on #85746 which covers Equatable
This commit is contained in:
@@ -1472,14 +1472,12 @@ func testUnwrapFixIts(x: Int?) throws {
|
||||
// expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{11-11=!}}
|
||||
foo(y: x ?? 0)
|
||||
|
||||
let _ = x < 2 // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}}
|
||||
// expected-note@-1 {{coalesce using '??' to provide a default when the optional value contains 'nil'}} {{12-12= ?? <#default value#>}}
|
||||
// expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{12-12=!}}
|
||||
let _ = x < 2 // expected-error {{binary operator '<' cannot be applied to operands of type 'Int?' and 'Int'}}
|
||||
// expected-note@-1 {{overloads for '<' exist with these partially matching parameter lists: (Int, Int)}}
|
||||
let _ = x ?? 0 < 2
|
||||
|
||||
let _ = 2 < x // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}}
|
||||
// expected-note@-1 {{coalesce using '??' to provide a default when the optional value contains 'nil'}} {{16-16= ?? <#default value#>}}
|
||||
// expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{16-16=!}}
|
||||
let _ = 2 < x // expected-error {{binary operator '<' cannot be applied to operands of type 'Int' and 'Int?'}}
|
||||
// expected-note@-1 {{overloads for '<' exist with these partially matching parameter lists: (Int, Int)}}
|
||||
let _ = 2 < x ?? 0
|
||||
|
||||
let _: Int = (.optionalIntMember) // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}}
|
||||
@@ -1497,9 +1495,8 @@ func testUnwrapFixIts(x: Int?) throws {
|
||||
// expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{36-36=!}}
|
||||
let _ = try (.optionalThrowsMember ?? 0) + 1
|
||||
|
||||
let _ = .optionalIntMember?.bitWidth > 0 // expected-error {{value of optional type 'Int?' must be unwrapped to a value of type 'Int'}}
|
||||
// expected-note@-1 {{coalesce using '??' to provide a default when the optional value contains 'nil'}} {{39-39= ?? <#default value#>}}
|
||||
// expected-note@-2 {{force-unwrap using '!' to abort execution if the optional value contains 'nil'}} {{11-11=(}} {{39-39=)!}}
|
||||
let _ = .optionalIntMember?.bitWidth > 0 // expected-error {{binary operator '>' cannot be applied to operands of type 'Int?' and 'Int'}}
|
||||
// expected-note@-1 {{overloads for '>' exist with these partially matching parameter lists: (Int, Int)}}
|
||||
let _ = (.optionalIntMember?.bitWidth)! > 0
|
||||
let _ = .optionalIntMember?.bitWidth ?? 0 > 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user