 // CHECK: <kw>func</kw> *-*(<id>l</id>: <type>Int</type>, <id>r</id>: <type>Int</type>) -> <type>Int</type> { <kw>return</kw> <id>l</id> }{{$}}
 func *-*(l: Int, r: Int) -> Int { return l }
 
-// CHECK: <attr-builtin>infix</attr-builtin> <kw>operator</kw> *-+* : <id>FunnyPrecedence</id>
+// CHECK: <kw>infix</kw> <kw>operator</kw> *-+* : <id>FunnyPrecedence</id>
 infix operator *-+* : FunnyPrecedence
 
 // CHECK: <kw>func</kw> *-+*(<id>l</id>: <type>Int</type>, <id>r</id>: <type>Int</type>) -> <type>Int</type> { <kw>return</kw> <id>l</id> }{{$}}
 func *-+*(l: Int, r: Int) -> Int { return l }
 
-// CHECK: <attr-builtin>infix</attr-builtin> <kw>operator</kw> *--*{{$}}
+// CHECK: <kw>infix</kw> <kw>operator</kw> *--*{{$}}
 infix operator *--*
 
 // CHECK: <kw>func</kw> *--*(<id>l</id>: <type>Int</type>, <id>r</id>: <type>Int</type>) -> <type>Int</type> { <kw>return</kw> <id>l</id> }{{$}}

enum List<T> {
  case Nil
  // rdar://21927124
  // CHECK: <attr-builtin>indirect</attr-builtin> <kw>case</kw> <id>Cons</id>(<type>T</type>, <type>List</type>)
  indirect case Cons(T, List)
}



// CHECK: <kw>class</kw> <id>MySubClass</id> : <type>MyCls</type> {
class MySubClass : MyCls {
    // CHECK: <kw>override</kw> <kw>func</kw> <id>foo</id>(<id>x</id>: <type>Int</type>) {}
    override func foo(x: Int) {}

    // CHECK: <kw>convenience</kw> <kw>init</kw>(<id>a</id>: <type>Int</type>) {}
    convenience init(a: Int) {}
}

// CHECK: <kw>var</kw> <id>g1</id> = { (<id>x</id>: <type>Int</type>) -> <type>Int</type> <kw>in</kw> <kw>return</kw> <int>0</int> }
var g1 = { (x: Int) -> Int in return 0 }

// CHECK: <kw>infix</kw> <kw>operator</kw> ~~ {
infix operator ~~ {}
// CHECK: <kw>prefix</kw> <kw>operator</kw> *~~ {
prefix operator *~~ {}
// CHECK: <kw>postfix</kw> <kw>operator</kw> ~~* {
postfix operator ~~* {}

func test_defer() {
