func naked()

in Sources/SIL/SILPrinter.swift [552:593]


    func naked(_ type: Type) {
        switch type {
        case let .addressType(type):
            print("*")
            naked(type)
        case let .attributedType(attrs, type):
            print("", attrs, " ", " ") { print($0) }
            naked(type)
        case .coroutineTokenType:
            print("!CoroutineTokenType!")
        case let .functionType(params, result):
            print("(", params, ", ", ")") { naked($0) }
            print(" -> ")
            naked(result)
        case let .genericType(params, reqs, type):
            print("<", params, ", ", "") { print($0) }
            print(whenEmpty: false, " where ", reqs, ", ", "") { print($0) }
            print(">")
            // This is a weird corner case of -emit-sil, so we have to go the extra mile.
            if case .genericType = type {
                naked(type)
            } else {
                print(" ")
                naked(type)
            }
        case let .namedType(name):
            print(name)
        case let .selectType(type, name):
            naked(type)
            print(".")
            print(name)
        case .selfType:
            print("Self")
        case let .specializedType(type, args):
            naked(type)
            print("<", args, ", ", ">") { naked($0) }
        case let .tupleType(params):
            print("(", params, ", ", ")") { naked($0) }
        case .withOwnership(_, _):
            fatalError("Types with ownership should be printed before naked type print!")
        }
    }