Issue Details (XML | Word | Printable)

Key: BOO-1027
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Cedric Vivier
Reporter: Greg Nagel
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Boo

Cannot override methods with ref parameters to non-primitive types

Created: 26/May/08 05:24 PM   Updated: 17/Jan/09 02:28 AM   Resolved: 17/Jan/09 02:28 AM
Return to search
Component/s: Compiler
Affects Version/s: 0.8.2
Fix Version/s: 0.9

Time Tracking:
Not Specified

Environment: Debian Sid

Testcase included: yes


 Description  « Hide

When you override a method with any number of ref parameters to non-primitive types-things like int and object seem to be okay-you get an error saying it can't figure out which method to override.

class X():
        pass

abstract class A():
        virtual def foo(ref x as X):
                pass

class B(A):
        override def foo(ref x as X):
                pass

x = X()
a as A = B()
a.foo(x)

Here's the error when run under booi with 8.2:

test.boo(9,18): BCE0060: Boo.Lang.Compiler.CompilerError: 'B.foo(X)': no suitable method found to override.



Cedric Vivier added a comment - 27/May/08 06:50 AM

It is a regression over 0.8.1 brought by rev. 2950... investigating..


Cedric Vivier added a comment - 17/Jan/09 02:28 AM

Fixed in rev. 3115