From 204b7b65cb53dd4a3639fbbededb12dc2c305d16 Mon Sep 17 00:00:00 2001 From: Adam Gent Date: Thu, 7 Aug 2025 11:00:07 -0400 Subject: [PATCH 1/2] Add jooby apt test module for #3756 --- tests/src/test/java/io/jooby/i3756/C3756.java | 25 +++++++++++++++++++ tests/src/test/java/io/jooby/i3756/S3756.java | 11 ++++++++ 2 files changed, 36 insertions(+) create mode 100644 tests/src/test/java/io/jooby/i3756/C3756.java create mode 100644 tests/src/test/java/io/jooby/i3756/S3756.java diff --git a/tests/src/test/java/io/jooby/i3756/C3756.java b/tests/src/test/java/io/jooby/i3756/C3756.java new file mode 100644 index 0000000000..47125737e9 --- /dev/null +++ b/tests/src/test/java/io/jooby/i3756/C3756.java @@ -0,0 +1,25 @@ +/* + * Jooby https://jooby.io + * Apache License Version 2.0 https://jooby.io/LICENSE.txt + * Copyright 2014 Edgar Espina + */ +package io.jooby.i3756; + +import io.jooby.annotation.GET; +import io.jooby.annotation.Path; + +@Path("/C3756") +public class C3756 { + private final S3756 s3756; + + public C3756(S3756 s3756) { + super(); + this.s3756 = s3756; + } + + @GET + public String handle() { + s3756.accept("hello"); + return "hello"; + } +} diff --git a/tests/src/test/java/io/jooby/i3756/S3756.java b/tests/src/test/java/io/jooby/i3756/S3756.java new file mode 100644 index 0000000000..2afbf013b5 --- /dev/null +++ b/tests/src/test/java/io/jooby/i3756/S3756.java @@ -0,0 +1,11 @@ +/* + * Jooby https://jooby.io + * Apache License Version 2.0 https://jooby.io/LICENSE.txt + * Copyright 2014 Edgar Espina + */ +package io.jooby.i3756; + +public interface S3756 { + + void accept(String s); +} From b67408456d1551048ce180ec29d6aefa8ad54876 Mon Sep 17 00:00:00 2001 From: Adam Gent Date: Thu, 7 Aug 2025 11:33:47 -0400 Subject: [PATCH 2/2] Fix #3756 lambda inference issue with apt gen --- .../src/main/resources/io/jooby/internal/apt/Source.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/jooby-apt/src/main/resources/io/jooby/internal/apt/Source.java b/modules/jooby-apt/src/main/resources/io/jooby/internal/apt/Source.java index 8beea1cc6c..3a5f01e5a6 100644 --- a/modules/jooby-apt/src/main/resources/io/jooby/internal/apt/Source.java +++ b/modules/jooby-apt/src/main/resources/io/jooby/internal/apt/Source.java @@ -9,7 +9,7 @@ public class ${generatedClassName} implements io.jooby.MvcExtension { } public ${generatedClassName}(java.util.function.Supplier<${className}> provider) { - this(ctx -> provider.get()); + this(ctx -> (${className}) provider.get()); } public ${generatedClassName}(java.util.function.Function factory) {