summaryrefslogtreecommitdiff
path: root/vala/valasignal.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2022-08-01 14:32:06 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2022-08-09 08:44:28 +0200
commit661f08ea4d92c37a566b388c543240ac71cef6dd (patch)
tree4528bc32d0f5a5588fae909131f66680cb78b037 /vala/valasignal.vala
parente74724d2646b0cda103984f1d6c4045db2262726 (diff)
downloadvala-661f08ea4d92c37a566b388c543240ac71cef6dd.tar.gz
vala: Enforce required type-arguments on parameter/return types of callables
This stricter check applies to delegate types in source files only. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1342
Diffstat (limited to 'vala/valasignal.vala')
-rw-r--r--vala/valasignal.vala6
1 files changed, 6 insertions, 0 deletions
diff --git a/vala/valasignal.vala b/vala/valasignal.vala
index ffd5a760a..2b5005e3b 100644
--- a/vala/valasignal.vala
+++ b/vala/valasignal.vala
@@ -206,6 +206,12 @@ public class Vala.Signal : Symbol, Callable {
}
return_type.check (context);
+ if (!external_package) {
+ context.analyzer.check_type (return_type);
+ if (return_type is DelegateType) {
+ return_type.check_type_arguments (context);
+ }
+ }
if (return_type.type_symbol == context.analyzer.va_list_type.type_symbol) {
error = true;