#96: Problem with struct2local.m --------------------------+------------------------------------------------- Reporter: sebastien | Owner: Type: bug | Status: new Priority: critical | Milestone: Component: Core M-files | Version: 4.1.1 Keywords: | --------------------------+------------------------------------------------- The function struct2local.m doesn't work as expected when a function exists in the path with the same name than a variable to be unpacked.
After the call to struct2local, MATLAB gives precedence to the function over the local variable.
This behavior is apparently in contradiction with the precedence rules described on: http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/f10-60956....
However it is present on most versions of MATLAB, and should be taken as a normal behavior of MATLAB.
A possible fix is to drop the use of struct2local, and to unpack structures by hand.
#96: Problem with struct2local.m ---------------------------+------------------------------------------------ Reporter: sebastien | Owner: Type: bug | Status: new Priority: critical | Milestone: Component: Core M-files | Version: 4.1.1 Resolution: | Keywords: ---------------------------+------------------------------------------------
Comment(by sebastien):
Note that Octave doesn't have this problem: it seems to apply correctly the precedence rules, even with assignin().
#96: Problem with struct2local.m ---------------------------+------------------------------------------------ Reporter: sebastien | Owner: ratto Type: bug | Status: assigned Priority: critical | Milestone: Component: Core M-files | Version: 4.1.1 Resolution: | Keywords: ---------------------------+------------------------------------------------ Changes (by sebastien):
* owner: => ratto * status: new => assigned
Comment:
As of commit 839b77d6797db0334b4199b7b0b49312f18d4e6e, most calls to the function have been removed.
It is however still used in slaveParallel.m and fParallel.m.
#96: Problem with struct2local.m ---------------------------+------------------------------------------------ Reporter: sebastien | Owner: ratto Type: bug | Status: closed Priority: critical | Milestone: Component: Core M-files | Version: 4.1.1 Resolution: fixed | Keywords: ---------------------------+------------------------------------------------ Changes (by sebastien):
* status: assigned => closed * resolution: => fixed
Comment:
As of commit 839b77d6797db0334b4199b7b0b49312f18d4e6e, the remaining uses of struct2local are not susceptible to create the aforementionned problem.
#96: Problem with struct2local.m ---------------------------+------------------------------------------------ Reporter: sebastien | Owner: ratto Type: bug | Status: reopened Priority: critical | Milestone: Component: Core M-files | Version: 4.1.2 Resolution: | Keywords: ---------------------------+------------------------------------------------ Changes (by sebastien):
* status: closed => reopened * version: 4.1.1 => 4.1.2 * resolution: fixed =>
Comment:
The fix still needs to be backported into 4.1.
#96: Problem with struct2local.m ---------------------------+------------------------------------------------ Reporter: sebastien | Owner: ratto Type: bug | Status: closed Priority: critical | Milestone: Component: Core M-files | Version: 4.1.2 Resolution: fixed | Keywords: ---------------------------+------------------------------------------------ Changes (by sebastien):
* status: reopened => closed * resolution: => fixed
Comment:
We will not to fix this bug in 4.1: the changes would be too far reaching, possibly introducing new bugs.