     }
 }
 
-private struct ProtobufFieldWireType1: ProtobufBinaryFieldDecoder {
+private struct ProtobufFieldWireTypeFixed64: ProtobufBinaryFieldDecoder {
     let fixed8: [UInt8]
     let unknown: UnsafeBufferPointer<UInt8>
     let scanner: ProtobufScanner

    public mutating func decodeFullObject(decodeField: (inout ProtobufFieldDecoder, Int) throws -> Bool) throws {
        while let tag = try scanner.getTag() {
            let protoFieldNumber = tag.fieldNumber
            var fieldDecoder: ProtobufFieldDecoder
            switch scanner.fieldWireFormat {
            case .varint:
                let value = try getVarint()
                let raw = try scanner.getRawField()
                fieldDecoder = ProtobufFieldWireType0(varint: value, unknown: raw, scanner: scanner)
            case .fixed64:
                let value = try getFixed8()
                let raw = try scanner.getRawField()
                fieldDecoder = ProtobufFieldWireType1(fixed8: value, unknown: raw, scanner: scanner)
            case .lengthDelimited:
                let value = try getBytesRef()
                let raw = try scanner.getRawField()
                fieldDecoder = ProtobufFieldWireType2(buffer: value, unknown: raw, scanner: scanner)
            case .startGroup:
                fieldDecoder = ProtobufFieldWireType3(scanner: scanner, protoFieldNumber: protoFieldNumber)
            case .endGroup:
                throw ProtobufDecodingError.malformedProtobuf
            case .fixed32:
                let value = try getFixed4()
                let raw = try scanner.getRawField()
                fieldDecoder = ProtobufFieldWireType5(fixed4: value, unknown: raw, scanner: scanner)
            }
            if !(try decodeField(&fieldDecoder, protoFieldNumber)) {
                let _ = try scanner.skip() // Skip and discard the field.
            }

    }
}

private struct ProtobufFieldWireTypeVarint: ProtobufBinaryFieldDecoder {
    let varint: UInt64
    let unknown: UnsafeBufferPointer<UInt8>
    let scanner: ProtobufScanner
