|
|
|
your patch is applied fine. Still no improvements on predicate example. It doesn't work!
This really seems to be an issue with Predicates. simply method overloading resolution fails when we send a delegate as a parameter as below.
test.boo(5,19): BCE0017: The best overload for the method 'db4mo.Query(db4mo)' is not compatible with the argument list '(callable(db4mo) as bool)'. Other than that everything seems working even with generic method overloading etc. New patch v5 against clean trunk fixing two other testcases from
Still not fixing the Predicate related one but we get closer and closer. I think we're facing several different problems here, and it'd be easier if we treated them as separate issues.
The generic method overloads issue should be solvable entirely within CallableResolutionService (if I'm not mistaken the code for preferring non-generic methods over generic ones is in place, only commented out). This is recorded in At any rate, I made some small tests about predicate issue. In deed it has nothing to do with Predicates. The problem occurs if The method is generic AND method has generic parameters AND it has an overload wheater generic or non generic.
IF these 3 conditions supplied the bug is produced. Forexample in C# public Query<T>(T t) {... } In this case if you call 1st method compilation succeeds. If you call the second compilation fails because of the above reason. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I have a small problem with my mono setup right now so I cannot test your testcase with predicate, please try it.
the following testcases work ok here :
(as library) and http://monoport.com/5917
internal : http://monoport.com/5915
external : http://monoport.com/5916