在我的Yesod Web应用程序中,我具有以下数据类型:
data SensorType = TemperatureSensor | HumiditySensor deriving (Eq, Show, Read, PathPiece, PersistField)
我启用
GeneralizedNewtypeDeriving
关于自动推导
PathPiece
的答案:What typeclasses need to be defined for a Yesod path?
但是我收到ghc错误:
Can't make a derived instance of `PathPiece SensorType
`PathPiece' is not a derivable class
是否可以自动导出
PathPiece
?我做错了什么?对于
PersistField
存在derivePersistField
。那PathPiece
呢? 最佳答案
顾名思义,GeneralizedNewtypeDeriving
仅用于导出newtype
的实例。它通过在新类型包装器上提升基础类型的实例来工作。
您的类型不是newtype
,因此没有要举起的PathPiece
实例。