summaryrefslogtreecommitdiff
path: root/tests
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 /tests
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 'tests')
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/generics/delegate-return-type-missing.test8
-rw-r--r--tests/generics/method-parameter-type-missing.test9
-rw-r--r--tests/generics/method-return-type-missing.test10
-rw-r--r--tests/generics/signal-return-type-missing.test10
5 files changed, 41 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 48e9d37d7..f5e0cb8ff 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -769,6 +769,7 @@ TESTS = \
generics/arrays-not-supported-2.test \
generics/arrays-not-supported-3.test \
generics/constructor-chain-up.vala \
+ generics/delegate-return-type-missing.test \
generics/floating-type-cast.vala \
generics/gvariant-serialization.test \
generics/inference-argument-may-fail.vala \
@@ -779,14 +780,17 @@ TESTS = \
generics/parameter-invalid-initializer.test \
generics/parameter-sizeof-initializer.vala \
generics/member-dup-destroy.vala \
+ generics/method-parameter-type-missing.test \
generics/method-parameter-unknown-type-parameter.test \
generics/method-parameter-unknown-type-parameter-2.test \
+ generics/method-return-type-missing.test \
generics/method-return-unknown-type-parameter.test \
generics/method-return-unknown-type-parameter-2.test \
generics/null-type.vala \
generics/property-gobject-set.vala \
generics/property-int-cast.vala \
generics/reference-transfer.vala \
+ generics/signal-return-type-missing.test \
generics/string-literal-comparison.vala \
generics/type-parameter-properties.vala \
generics/type-parameter-property-clash.vala \
diff --git a/tests/generics/delegate-return-type-missing.test b/tests/generics/delegate-return-type-missing.test
new file mode 100644
index 000000000..b2ab8fb95
--- /dev/null
+++ b/tests/generics/delegate-return-type-missing.test
@@ -0,0 +1,8 @@
+Invalid Code
+
+delegate T FooFunc<T> ();
+
+delegate FooFunc BarFunc ();
+
+void main () {
+}
diff --git a/tests/generics/method-parameter-type-missing.test b/tests/generics/method-parameter-type-missing.test
new file mode 100644
index 000000000..cc4197860
--- /dev/null
+++ b/tests/generics/method-parameter-type-missing.test
@@ -0,0 +1,9 @@
+Invalid Code
+
+delegate T FooFunc<T> ();
+
+void foo (FooFunc f) {
+}
+
+void main () {
+}
diff --git a/tests/generics/method-return-type-missing.test b/tests/generics/method-return-type-missing.test
new file mode 100644
index 000000000..313f53fae
--- /dev/null
+++ b/tests/generics/method-return-type-missing.test
@@ -0,0 +1,10 @@
+Invalid Code
+
+delegate T FooFunc<T> ();
+
+FooFunc bar () {
+ return null;
+}
+
+void main () {
+}
diff --git a/tests/generics/signal-return-type-missing.test b/tests/generics/signal-return-type-missing.test
new file mode 100644
index 000000000..35c77a1dd
--- /dev/null
+++ b/tests/generics/signal-return-type-missing.test
@@ -0,0 +1,10 @@
+Invalid Code
+
+delegate T FooFunc<T> ();
+
+class Foo {
+ public signal FooFunc bar ();
+}
+
+void main () {
+}