Dmitri tracked it down and has a fix for it, and then I had a complaint about 
his fix, and then I didn't get back to it. :-)

https://github.com/apple/swift/pull/4622

Jordan


> On Sep 9, 2016, at 14:50, Slava Pestov via swift-dev <swift-dev@swift.org> 
> wrote:
> 
> Running it in a loop on another machine doesn’t trigger it, so I’m thinking 
> it might be a random variation in how the standard library is built?
> 
>> On Sep 9, 2016, at 2:49 PM, Mark Lacey <mark.la...@apple.com 
>> <mailto:mark.la...@apple.com>> wrote:
>> 
>> 
>>> On Sep 9, 2016, at 2:45 PM, Slava Pestov via swift-dev <swift-dev@swift.org 
>>> <mailto:swift-dev@swift.org>> wrote:
>>> 
>>> Hi all,
>>> 
>>> Is anyone else seeing this? I haven’t seen it in CI, but for me this test 
>>> fails at random, very rarely too — looks like something is 
>>> non-deterministic in the optimizer?
>> 
>> Yes, I hit this a couple days ago and attempted to reproduce and couldn’t.
>> 
>> Mark
>> 
>>> 
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:30:9: error: 
>>> expected string not found in input
>>> // OPT: [[METHOD:%[0-9]+]] = class_method [volatile] [[METATYPE]] : $@thick 
>>> Gizmo.Type, #Gizmo.nonNilGizmo!1.foreign : (Gizmo.Type) -> () -> Gizmo , 
>>> $@convention(objc_method) (@objc_metatype Gizmo.Type) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:329:34: note: scanning from here
>>>  %0 = metatype $@thick Gizmo.Type, loc 
>>> "SOURCE_DIR/test/SILGen/objc_nonnull_lie_hack.swift":36:21, scope 54 // 
>>> user: %1
>>>                                  ^
>>> <stdin>:329:34: note: with variable "METATYPE" equal to "%0"
>>>  %0 = metatype $@thick Gizmo.Type, loc 
>>> "SOURCE_DIR/test/SILGen/objc_nonnull_lie_hack.swift":36:21, scope 54 // 
>>> user: %1
>>>                                  ^
>>> <stdin>:330:2: note: possible intended match here
>>>  %1 = class_method [volatile] %0 : $@thick Gizmo.Type, 
>>> #Gizmo.nonNilGizmo!1.foreign : (Gizmo.Type) -> () -> Gizmo! , 
>>> $@convention(objc_method) (@objc_metatype Gizmo.Type) -> @autoreleased 
>>> Optional<Gizmo>, loc 
>>> "SOURCE_DIR/test/SILGen/objc_nonnull_lie_hack.swift":36:27, scope 54 // 
>>> user: %3
>>>  ^
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:44:9: error: 
>>> expected string not found in input
>>> // OPT: [[METHOD:%[0-9]+]] = class_method [volatile] [[OBJ:%[0-9]+]] : 
>>> $Gizmo, #Gizmo.nonNilGizmo!1.foreign : (Gizmo) -> () -> Gizmo , 
>>> $@convention(objc_method) (Gizmo) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:1625:67: note: scanning from here
>>> sil hidden 
>>> @_TTSf4g___TF21objc_nonnull_lie_hack18callInstanceMethodFT5gizmoCSo5Gizmo_GSqS0__
>>>  : $@convention(thin) (@guaranteed Gizmo) -> @owned Optional<Gizmo> {
>>>                                                                   ^
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:58:9: error: 
>>> expected string not found in input
>>> // OPT: [[GETTER:%[0-9]+]] = class_method [volatile] [[OBJ:%[0-9]+]] : 
>>> $Gizmo, #Gizmo.nonNilGizmoProperty!getter.1.foreign : (Gizmo) -> () -> 
>>> Gizmo , $@convention(objc_method) (Gizmo) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:1842:88: note: scanning from here
>>> sil hidden 
>>> @_TTSf4g___TF21objc_nonnull_lie_hack12loadPropertyFT5gizmoCSo5Gizmo_GSqS0__ 
>>> : $@convention(thin) (@guaranteed Gizmo) -> @owned Optional<Gizmo> {
>>>                                                                             
>>>            ^
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:71:9: error: 
>>> expected string not found in input
>>> // OPT: [[GETTER:%[0-9]+]] = class_method [volatile] [[OBJ:%[0-9]+]] : 
>>> $Gizmo, #Gizmo.unownedNonNilGizmoProperty!getter.1.foreign : (Gizmo) -> () 
>>> -> Gizmo , $@convention(objc_method) (Gizmo) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:2059:95: note: scanning from here
>>> sil hidden 
>>> @_TTSf4g___TF21objc_nonnull_lie_hack19loadUnownedPropertyFT5gizmoCSo5Gizmo_GSqS0__
>>>  : $@convention(thin) (@guaranteed Gizmo) -> @owned Optional<Gizmo> {
>>>                                                                             
>>>                   ^
>>> 
>>> _______________________________________________
>>> swift-dev mailing list
>>> swift-dev@swift.org <mailto:swift-dev@swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-dev 
>>> <https://lists.swift.org/mailman/listinfo/swift-dev>
>> 
> 
> _______________________________________________
> swift-dev mailing list
> swift-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to