[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #1063: scrutiny-tests-2.scm contains a bad test b
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #1063: scrutiny-tests-2.scm contains a bad test but it passes anyway! |
Date: |
Thu, 26 Dec 2013 18:20:33 -0000 |
#1063: scrutiny-tests-2.scm contains a bad test but it passes anyway!
--------------------------+-------------------------------------------------
Reporter: sjamaan | Owner:
Type: defect | Status: new
Priority: critical | Milestone: 4.9.0
Component: scrutinizer | Version: 4.8.x
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment(by evhan):
The reason the assertion fails but the test succeeds anyway is that
scrutiny-tests-2.scm is compiled with `-analyze-only` and never run, just
to generate the scrutiny output. If it were run there'd be an unrelated
error ({{{let}}} vs. {{{let*}}}, I'll submit something for that shortly).
Regarding the scrutiny, the {{{(list? p)}}} check doesn't generate a
warning since the expansion of {{{assert}}} includes a call to
{{{##sys#error}}}, which (because it isn't pure/clean/etc.) causes the
pair {{{p}}} -- which starts the program with type {{{(pair fixnum
fixnum)}}} -- to be smashed into simply {{{pair}}}. After that, nothing
can be said in the argument type comparison of {{{(not list)}}} and
{{{pair}}}.
I wonder if the complex type smashing can be safely avoided for
{{{noreturn}}} procedures?
--
Ticket URL: <http://bugs.call-cc.org/ticket/1063#comment:1>
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] |
- Re: [Chicken-janitors] #1063: scrutiny-tests-2.scm contains a bad test but it passes anyway!,
Chicken Trac <=