error types are ignored while checking delegate type compatibility
The following code needs to result in error: Assignment: Cannot convert from
FooFunc' to BarFunc'
.
errordomain FooError {
FAIL;
}
errordomain BarError {
FAIL;
}
delegate void FooFunc () throws FooError;
delegate void BarFunc () throws BarError;
void main () {
FooFunc f = () => { throw new FooError.FAIL (""); };
BarFunc b = f;
}
Currently it compiles and causes criticals like
** (process:341215): CRITICAL **: 13:29:50.971: file test.vala.c: line 97: uncaught error: (foo-error-quark, 0)