def featureValues[F: FeatureBuilder: ClassTag]()

in core/src/main/scala/com/spotify/featran/FlatExtractor.scala [195:213]


  def featureValues[F: FeatureBuilder: ClassTag](records: M[T]): M[F] =
    featureResults(records).map(_._1)

  @nowarn(
    "msg=evidence parameter evidence.* of type scala.reflect.ClassTag\\[.\\] .* is never used"
  )
  def featureResults[F: FeatureBuilder: ClassTag](
    records: M[T]
  ): M[(F, Map[String, FeatureRejection])] = {
    val fb = FeatureBuilder[F].newBuilder
    records.cross(converters).cross(dimSize).map { case ((record, convs), size) =>
      fb.init(size)
      convs.foreach { case (fn, aggr, conv) =>
        val a = aggr.map(conv.decodeAggregator)
        conv.unsafeBuildFeatures(fn(record), a, fb)
      }
      (fb.result, fb.rejections)
    }
  }