首页 > 解决方案 > 如何使用精炼库根据彼此类型的类定义 A 和 B?

问题描述

问题:

我有一个案例类乘客,它从 A 点开始到 B 点。

有效乘客意味着 A 点不等于 B 点。

Passenger(
  a: Int,
  b: Int
)

问题:

如何使用refind库设计乘客类以达到目标?

我认为Passenger应该采用两个或一个细化的类型参数,例如:

    Passenger[A, B Refined NotEqual[A]](...)

例子:

我希望以下代码无法编译:

Passenger(42, 42)

这可以正确编译:

Passenger(1, 42)

标签: scalarefined

解决方案


推荐阅读