Это ошибка времени компиляции, если выражение lambda возникает в программе в некотором месте, отличном от контекста назначения (§5.2), контекста вызова (§5.3) или контекста каста (§5.5).
Также возможно использовать лямбда-выражение в выражении return.
Затем мы можем переписать ваш пример четырьмя различными способами:
Создав контекст назначения:
Function<Boolean, Boolean> function = p -> p;
boolean x = function.apply(true);