Boo

Cannot override methods with ref parameters to non-primitive types

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 0.8.2
  • Fix Version/s: 0.9
  • Component/s: Compiler
  • Labels:
    None
  • Environment:
    Debian Sid
  • Testcase included:
    yes
  • Number of attachments :
    0

Description

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.

Activity

Hide
Cedric Vivier added a comment -

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

Show
Cedric Vivier added a comment - It is a regression over 0.8.1 brought by rev. 2950... investigating..
Hide
Cedric Vivier added a comment -

Fixed in rev. 3115

Show
Cedric Vivier added a comment - Fixed in rev. 3115

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: