Scala 创建导致解析时编译错误的隐式值

Scala 创建导致解析时编译错误的隐式值,scala,playframework,implicit,Scala,Playframework,Implicit,我试图在Play框架中解决i18n问题。I18n需要隐式Lang实例从资源中读取消息。在正常情况下,Lang实例通过隐式转换从Request中提取。如果分数中没有请求,Lang成为defaultLang的Lang伴生对象 在我的应用程序中,我从不需要defaultLang。我想要正确的Lang,或者一个编译错误 我在考虑一些MyI18NSupporttrait,它应该以某种方式阻止defaultLang的解析。我会把它混入我的控制器 是否有任何方法可以创建隐式值,从而在解析时导致编译错误?您使用

我试图在Play框架中解决i18n问题。I18n需要隐式
Lang
实例从资源中读取消息。在正常情况下,
Lang
实例通过隐式转换从
Request
中提取。如果分数中没有
请求
Lang
成为
defaultLang
Lang
伴生对象

在我的应用程序中,我从不需要
defaultLang
。我想要正确的
Lang
,或者一个编译错误

我在考虑一些
MyI18NSupport
trait,它应该以某种方式阻止
defaultLang
的解析。我会把它混入我的控制器


是否有任何方法可以创建隐式值,从而在解析时导致编译错误?

您使用的是哪个版本?我假设低于2.4,因为从2.4开始,您需要传递
消息
对象,而不是
语言
play.api.mvc.Controller
将不再提供该
Messages
对象,这意味着您必须明确地混合
I18nSupport
(它提供了从
请求
Messages
的隐式转换)。相反,您可以混合您自己的I18nSupport。您使用的是哪个版本?我假设低于2.4,因为从2.4开始,您需要传递
消息
对象,而不是
语言
play.api.mvc.Controller
将不再提供该
Messages
对象,这意味着您必须明确地混合
I18nSupport
(它提供了从
请求
Messages
的隐式转换)。相反,您可以加入自己的I18nSupport。