chicken-janitors
[Top][All Lists]
Advanced

[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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]