[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #803: setters like set-cdr! don't invalidate type inf
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #803: setters like set-cdr! don't invalidate type information |
Date: |
Sat, 17 Mar 2012 20:40:29 -0000 |
#803: setters like set-cdr! don't invalidate type information
----------------------------------------+-----------------------------------
Reporter: sjamaan | Owner:
Type: defect | Status: new
Priority: major | Milestone: 4.8.0
Component: compiler | Version: 4.7.x
Keywords: scrutinizer, optimizations |
----------------------------------------+-----------------------------------
The following program, when compiled with specialization, prints {{#t}}.
It prints #f in all other cases:
{{{
#!scm
(let ((x (list 'a)))
(set-cdr! x x)
(print (list? x)))
}}}
If possible, set-car! and set-cdr! should have roughly the same effect as
set! (and so should vector-set! but I couldn't reproduce a similar error
with that, so I guess that's already taken care of, somehow)
I'll look into it in more detail but wanted to create a ticket so we don't
forget about this.
--
Ticket URL: <http://bugs.call-cc.org/ticket/803>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-janitors] #803: setters like set-cdr! don't invalidate type information,
Chicken Trac <=