// RUN: %target-swift-frontend -emit-silgen -enable-sil-ownership %s | %FileCheck %s

protocol P {}

class Foo {
  var x: Foo!
  var p: P!

  // CHECK-LABEL: {{.*3Foo.*3foo.*}}
  // CHECK-NOT: unchecked_{{.*}}cast {{.*}} Optional{{.*}} to Optional
  func foo() -> Foo? {
    return x
  }
  // CHECK-LABEL: {{.*3Foo.*3poo.*}}
  // CHECK-NOT: unchecked_{{.*}}cast {{.*}} Optional{{.*}} to Optional
  func poo() -> P? {
    return p
  }

  // CHECK-LABEL: {{.*3Foo.*3bar.*}}
  // CHECK-NOT: unchecked_{{.*}}cast {{.*}} Optional{{.*}} to Optional
  func bar() -> Foo? {
    var x2 = x
  }
  // CHECK-LABEL: {{.*3Foo.*3par.*}}
  // CHECK-NOT: unchecked_{{.*}}cast {{.*}} Optional{{.*}} to Optional
  func par(p3: P) -> P? {
    var p2 = p
    p2! = p3
    p2? = p3
  }
}
