REBOL3 tracker
  0.9.12 beta
Ticket #0000595 User: anonymous

Project:



rss
TypeBug Statustested Date1-Feb-2009 11:29
Versionalpha 32 Categoryn/a Submitted bySunanda
PlatformAll Severitycrash Prioritynormal

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 ton/a Fixed inalpha 50 Last Update4-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 -