override def funnel()

in guava/src/main/scala/magnolify/guava/semiauto/FunnelDerivation.scala [28:40]


    override def funnel(from: T, into: PrimitiveSink): Unit =
      if (caseClass.isValueClass) {
        val p = caseClass.parameters.head
        p.typeclass.funnel(p.dereference(from), into)
      } else if (caseClass.parameters.isEmpty) {
        val _ = into.putString(caseClass.typeName.short, StandardCharsets.UTF_8)
      } else {
        caseClass.parameters.foreach { p =>
          // inject index to distinguish cases like `(Some(1), None)` and `(None, Some(1))`
          into.putInt(p.index)
          p.typeclass.funnel(p.dereference(from), into)
        }
      }