On Sun, Apr 12, 2015 at 15:31:44 +0200, Oliver Heimlich wrote:
I have verified that #44334, #44498, and #43925 all are regressions, which
have been working in 3.8.2 and are broken in 4.0.
Correction: bug #43925 was reported against 3.8.2, is not a regression
from 3.8.2 to 4.0.0.
What is the desired behaviour?
1) A user-defined class must override all methods together to get a
consistent behaviour: size, isvector, isscalar, and isequal. Any builtin
functions will assume that the object's size is always [1 1].
2) A user-defined class must override size only. The builtin functions will
respect the overriden size method and produce a consistent behaviour for the
user (like they did in version 3.8.2).
Good question, I don't know the answer. I have not seen any clear
documentation on the intended interaction between these builtin
functions and user-defined classes.
I don't have access to Matlab, but I guess a good next step would be to
put together some minimal @-class examples and get someone to test them
in Matlab to see what it returns from the functions in question.