diff --git a/src/libponyc/type/subtype.c b/src/libponyc/type/subtype.c index 5e49d058ae..14136a51f7 100644 --- a/src/libponyc/type/subtype.c +++ b/src/libponyc/type/subtype.c @@ -216,7 +216,11 @@ static bool is_eq_typeargs(ast_t* a, ast_t* b, errorframe_t* errorf, if(!ret && errorf != NULL) { - ast_error_frame(errorf, a, "%s has different type arguments than %s", + ast_error_frame(errorf, a, + "%s has different type arguments than %s (the type arguments must be equivalent, not covariant nor contravariant)", + ast_print_type(a), ast_print_type(b)); + ast_error_frame(errorf, a, + "this might be possible if either %s or %s were an interface rather than a concrete type", ast_print_type(a), ast_print_type(b)); }