Type | Bug | Status | tested | Date | 1-Feb-2009 11:29 |
---|---|---|---|---|---|
Version | alpha 32 | Category | n/a | Submitted by | Sunanda |
Platform | All | Severity | crash | Priority | normal |
Summary | self: in object crashes system |
---|---|
Description |
This line generates #1204 assertion failure and a crash x: make object! [self: 0] On the other hand, this works, when perhaps it should fail with a message: x: make object! [] extend x 'self 0 probe x |
Example code |
;; Crash: x: make object! [self: 0] ;; Should this work? x: make object! [] extend x 'self 0 probe x |
Assigned to | n/a | Fixed in | alpha 50 | Last Update | 4-Jun-2009 22:04 |
---|
Comments | |
---|---|
(0000398)
BrianH 1-Feb-2009 17:52 |
In R2, when you assigned self in the body of the object initialization block the value you assigned was what was returned by the MAKE OBJECT!. That behavior was bad, but there might be some remnant of it that is causing the first crash.
This needs some attention, at least the crash for now. General SELF handling needs to be decided on in the long run. |
(0000569)
Carl 29-Apr-2009 14:10 |
Self is for reference only. It cannot be set. Above will generate an error now. |
(0000902)
Sunanda 4-Jun-2009 19:46 |
The crash is fixed -- thanks:
x: make object! [self: 0] ** Script error: cannot set self - it is protected But 'extend still allows 'self to be a word in the object ... >> x: make object! [] extend x 'self 0 probe x == make object! [ self: 0 ] ... creating a case where 'self _can_ be set ... set in x 'self 555 probe x == make object! [ self: 555 ] ... but the object that cannot be saved and reloaded ... reduce load mold x ** Script error: cannot set self - it is protected ** Where: make reduce Is this the final decision on behavior? |
(0000904)
BrianH 4-Jun-2009 22:04 |
We should create a separate ticket for the APPEND object [self: 1] bug. |
Date | User | Field | Action | Change |
---|---|---|---|---|
4-Jun-2009 22:04 | BrianH | Comment : 0000904 | Added | - |
4-Jun-2009 19:46 | sunanda | Comment : 0000902 | Added | - |
29-Apr-2009 20:36 | BrianH | Status | Modified | built => tested |
29-Apr-2009 14:11 | carl | Comment : 0000568 | Removed | - |
29-Apr-2009 14:11 | carl | Comment : 0000585 | Removed | - |
29-Apr-2009 14:11 | carl | Comment : 0000586 | Removed | - |
29-Apr-2009 14:11 | carl | Fixedin | Modified | => alpha 50 |
29-Apr-2009 14:11 | carl | Status | Modified | reviewed => built |
29-Apr-2009 14:10 | carl | Comment : 0000569 | Added | - |
29-Apr-2009 14:10 | carl | Comment : 0000568 | Added | - |
1-Feb-2009 17:52 | BrianH | Comment : 0000398 | Added | - |
1-Feb-2009 17:45 | BrianH | Description | Modified | - |
1-Feb-2009 17:45 | BrianH | Code | Modified | - |
1-Feb-2009 17:45 | BrianH | Status | Modified | submitted => reviewed |
1-Feb-2009 11:29 | sunanda | Ticket | Added | - |