То, с чем вы сталкиваетесь здесь, - это то, что я бы назвал «жадностью» замыканий Scala: они никогда не закрываются «по стоимости», предположительно из-за принципа единого доступа.Это означает, что замыкание содержит ссылку $outer
, которую он использует для получения значения minAge
.Вы не дали достаточно контекста, чтобы показать, как $outer
выглядит в вашем тесте, поэтому я не могу быть более точным в том, как он сериализуется, из чего следует, почему он печатает то, что вы показываете.
Одно слово, однако: не отправляйте замыкания вокруг этого, пожалуйста.Это не рецепт счастья, как вы признаете себя.