All Downloads are FREE. Search and download functionalities are using the official Maven repository.

izumi.fundamentals.orphans.OrphanDefs.scala Maven / Gradle / Ivy

There is a newer version: 1.2.15
Show newest version
package izumi.fundamentals.orphans

import scala.annotation.unused

/**
  * `No More Orphans` type providers. See detail https://blog.7mind.io/no-more-orphans.html
  *
  * These instances uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  *
  * @note For Scala 2, it appears necessary for the type in question to be higher-kinded and
  *       be top-level to not provoke compile failures when it's not found.
  */

// cats-kernel

final abstract class `cats.kernel.PartialOrder with cats.kernel.Hash`[K[_]]
object `cats.kernel.PartialOrder with cats.kernel.Hash` {
  type PartialOrderHashType[T] = cats.kernel.PartialOrder[T] & cats.kernel.Hash[T]
  @inline implicit final def get[K[_]](
    implicit @unused guard: `cats.kernel.BoundedSemilattice`[K]
  ): `cats.kernel.PartialOrder with cats.kernel.Hash`[PartialOrderHashType] = null
}

// cats-core

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.Functor`[R[_[_]]]
object `cats.Functor` {
  @inline implicit final def get: `cats.Functor`[cats.Functor] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-core as a dependency without REQUIRING a cats-core dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.Applicative`[R[_[_]]]
object `cats.Applicative` {
  @inline implicit final def get: `cats.Applicative`[cats.Applicative] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.Monad`[M[_[_]]]
object `cats.Monad` {
  @inline implicit final def get: `cats.Monad`[cats.Monad] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.Parallel`[K[_[_]]]
object `cats.Parallel` {
  @inline implicit final def get: `cats.Parallel`[cats.Parallel] = null
}

// cats-effect

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.effect.kernel.Sync`[R[_[_]]]
object `cats.effect.kernel.Sync` {
  @inline implicit final def get: `cats.effect.kernel.Sync`[cats.effect.kernel.Sync] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.effect.kernel.Async`[R[_[_]]]
object `cats.effect.kernel.Async` {
  @inline implicit final def get: `cats.effect.kernel.Async`[cats.effect.kernel.Async] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.effect.kernel.MonadCancel`[R[_[_], E]]
object `cats.effect.kernel.MonadCancel` {
  @inline implicit final def get: `cats.effect.kernel.MonadCancel`[cats.effect.kernel.MonadCancel] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.effect.kernel.GenTemporal`[R[_[_], E]]
object `cats.effect.kernel.GenTemporal` {
  @inline implicit final def get: `cats.effect.kernel.GenTemporal`[cats.effect.kernel.GenTemporal] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.effect.std.Dispatcher`[R[_[_]]]
object `cats.effect.std.Dispatcher` {
  @inline implicit final def get: `cats.effect.std.Dispatcher`[cats.effect.std.Dispatcher] = null
}

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `cats.effect.unsafe.IORuntime`[R]
object `cats.effect.unsafe.IORuntime` {
  @inline implicit final def get: `cats.effect.unsafe.IORuntime`[cats.effect.unsafe.IORuntime] = null
}

// zio

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `zio.ZIO`[K[_, _, _]]
object `zio.ZIO` {
  @inline implicit final def get: `zio.ZIO`[zio.ZIO] = null
}

// zio-interop-cats

/**
  * This instance uses 'no more orphans' trick to provide an Optional instance
  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
  *
  * Optional instance via https://blog.7mind.io/no-more-orphans.html
  */
final abstract class `zio.interop.CatsIOResourceSyntax`[K[_[_], _]]
object `zio.interop.CatsIOResourceSyntax` {
  @inline implicit final def get: `zio.interop.CatsIOResourceSyntax`[zio.interop.CatsIOResourceSyntax] = null
}

//// monix-bio
//
///**
//  * This instance uses 'no more orphans' trick to provide an Optional instance
//  * only IFF you have cats-effect as a dependency without REQUIRING a cats-effect dependency.
//  *
//  * Optional instance via https://blog.7mind.io/no-more-orphans.html
//  */
//final abstract class `monix.bio.IO`[K[_, _]]
//object `monix.bio.IO` {
//  @inline implicit final def get: `monix.bio.IO`[monix.bio.IO] = null
//}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy