[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #56856] class method calls overloaded function
From: |
anonymous |
Subject: |
[Octave-bug-tracker] [bug #56856] class method calls overloaded function instead of basic function |
Date: |
Wed, 4 Sep 2019 17:38:36 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 |
Follow-up Comment #2, bug #56856 (project octave):
Oh, you're right the example did not illustrate the issue with 'x' being
mistakenly replaced by 'this'. It seems like I wrote this short example too
quickly, sorry about that.
Attached is a new version which hopefully works this time. The problem arises
this time with the following code:
clear x % just making sure x is not yet assigned
a = test
x(10) = a
The situation is slightly more elaborated: an object of class 'test' is
assigned onto an empty 'double' array. This rightly triggers a call to
'test.subsasgn(val, idx, rhs)', with parameters:
val = x
rhs = a
However, from within the function 'test.subsasgn', the variable 'val' is
suddenly not an empty double array, but rather it has become an object of type
'test', more precisely a '<object array test>'. rhs has remained itself, an
object of type test, more precisely a '<object test>'.
calling 'size(val)' then triggers the function 'test.size' instead of calling
the size function for (empty) double arrays.
(file #47454)
_______________________________________________________
Additional Item Attachment:
File name: @test2.zip Size:0 KB
<https://savannah.gnu.org/file/@test2.zip?file_id=47454>
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?56856>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #56856] class method calls overloaded function instead of basic function, anonymous, 2019/09/04
- [Octave-bug-tracker] [bug #56856] class method calls overloaded function instead of basic function, Mike Miller, 2019/09/04
- [Octave-bug-tracker] [bug #56856] class method calls overloaded function instead of basic function,
anonymous <=
- [Octave-bug-tracker] [bug #56856] class method calls overloaded function instead of basic function, Mike Miller, 2019/09/04
- Message not available
- [Octave-bug-tracker] [bug #56856] Matlab calls class subsasgn method with array of double instead of class type, Mike Miller, 2019/09/09
- [Octave-bug-tracker] [bug #56856] Matlab calls class subsasgn method with array of double instead of class type, Mike Miller, 2019/09/09
- [Octave-bug-tracker] [bug #56856] Matlab calls class subsasgn method with array of double instead of class type, anonymous, 2019/09/09
- [Octave-bug-tracker] [bug #56856] Matlab calls class subsasgn method with array of double instead of class type, anonymous, 2019/09/09
- [Octave-bug-tracker] [bug #56856] Matlab calls class subsasgn method with array of double instead of class type, Mike Miller, 2019/09/10