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

func subclassFloatLiteral() -> Bar {
  let x: Bar = 1.0
  return x
}
// CHECK-LABEL: sil hidden @_TF13required_init20subclassFloatLiteralFT_CS_3Bar
// CHECK:         class_method {{%.*}} : $@thick Foo.Type, #Foo.init!allocator.1

class Foo: FloatLiteralConvertible {
  required init(floatLiteral: Float) { }

  func identify() {}
}

class Bar: Foo {
  override func identify() {}
}

// CHECK-LABEL: sil_vtable Foo {
// CHECK:         #Foo.init!allocator.1: _TFC13required_init3FooC
// CHECK:         #Foo.init!initializer.1: _TFC13required_init3Fooc

// CHECK-LABEL: sil_vtable Bar {
// CHECK:         #Foo.init!allocator.1: _TFC13required_init3BarC
// CHECK:         #Foo.init!initializer.1: _TFC13required_init3Barc
