-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Thanks a lot for the vavr encoding, they're helping the the transition from javaslang to vavr a lot! 👍
Option<T> fields inside builders marked as stagedBuilder=true does not have appropriate methods generated to BuildFinal interface.
import io.vavr.control.Option;
import org.immutables.value.Value;
import org.immutables.vavr.encodings.VavrEncodingEnabled;
@Value.Immutable
@Value.Style(stagedBuilder = true)
@VavrEncodingEnabled
public interface StagingBuilderTest {
@Value.Parameter
Object testParameter();
Option<Object> testOption();
}is compiled into
public final class ImmutableStagingBuilderTest implements StagingBuilderTest {
private final Object testParameter;
private final Option<Object> testOption;
// omitted ...
public interface TestParameterBuildStage {
BuildFinal testParameter(Object testParameter);
}
public interface BuildFinal {
ImmutableStagingBuilderTest build();
}
}with javaslang 2.0.6 it's complied into
public final class ImmutableStagingBuilderTest implements StagingBuilderTest {
private final Object testParameter;
private final Option<Object> testOption;
// omitted ...
public interface TestParameterBuildStage {
BuildFinal testParameter(Object testParameter);
}
public interface BuildFinal {
BuildFinal testOption(Object testOption);
BuildFinal testOption(Option<? extends Object> testOption);
ImmutableStagingBuilderTest build();
}
}This might be issue also for other supported types (not tested though).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels