Hi, I know I just raved about #liftweb error reporting on Twitter, but... now that I found out what was wrong, I still have a gripe about it. I am very unforgiving on error reporting logic, but most of the time people's error handling is so hopeless that I just throw up my arms and emit some mock Italian. When I bother to post this complaint, it's because I think lift is doing great and I want to help improve it.
The case occurs when a <lift:Foo.bar> tag fails to match the bar method in Foo. The rendered red box (which is very nice) tells me that the method was not found. However, it would be very handy if it handled the special case of "method found but the signature is wrong". As it is, I got the same message when I definitely had the method, per se. Before I knew it, I was on a quest to find the outdated class file, rebuilding here and there to make sure I had the war file in synch with my code. In my case, I hadn't specified the return type, and I was mistakenly using foreach instead of flatMap inside the method, implicitly giving Unit as return type. So lift was completely right, the method could not be found. However, this is siding with the compiler against the human, if you know what I mean. Also, since you cannot overload a method by varying only the return type, it is a pretty safe assumption that the mis-typed method is the one the user meant to use, especially if it takes the correct argument list, too. Kjetil --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---