Async methods don't perform parameter checks
Submitted by Eric Gregory
Link to original bug (#676203)
Description
Created attachment 214223 Test case demonstrating the issue
With normal Vala methods, a sanity check is performed to ensure the parameters are of the expected types. This doesn't seem to be happening in async methods in Vala 0.17.0
I've attached a test case that demonstrates the issue. The test() method will fail with "CRITICAL **: test: assertion `s != NULL' failed"
The async version, test_async(), triggers an assertion inside g_utf8_strup() instead.
A quick look at the generated C code shows that test() performs a null check, whereas the methods corresponding with test_async() do not.
Note that I only used the string type here as an example -- the same issue occurs with any type, including Vala classes.
Attachment 214223, "Test case demonstrating the issue":
test.vala