// RUN: %target-swift-frontend -O -emit-sil -primary-file %s | %FileCheck %s // CHECK-LABEL: sil hidden [transparent] @$s18subscript_accessor1XVxSgyciM // CHECK: [[SETTER:%.*]] = function_ref @$s18subscript_accessor1XVxSgycis // CHECK-NEXT: apply [[SETTER]] struct X { subscript () -> T? { get { return nil } set { } } } // Don't crash dealing with T? in a non-generic context. // rdar://44762116 struct WillBeConcretelyConstrained {} extension WillBeConcretelyConstrained where T == Int { subscript(key: Int) -> T? { get { return nil } set {} } } // CHECK-LABEL: sil hidden [transparent] @$s18subscript_accessor27WillBeConcretelyConstrainedVAASiRszlEySiSgSiciM // CHECK-SAME: $@yield_once @convention(method) (Int, @inout WillBeConcretelyConstrained) -> @yields @inout Optional // CHECK: sil{{.*}}s18subscript_accessor9testXRead1xxAA1XVyxG_tlF @_specialize(where T == (Int, Int)) func testXRead(x: X) -> T { return x[]! } // CHECK: $s18subscript_accessor1XVxSgycisTf4dn_n