﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1215	Warn about too specific type declarations	Moritz Heidkamp		"The following program produces code that may segfault when compiled with specialization:

{{{
(: foo (-> string))

(define (foo) (read))

(print (string-ref (foo) 0))
}}}
{{{
$ csc -specialize foo.scm
echo '""foo""' | ./foo
f

$ echo 123 | ./foo             

Error: segmentation violation

	Call history:

	baz.scm:5: foo	  
	baz.scm:3: read	  	<--
}}}

I think the root cause is that the declared return type of {{{foo}}} is more specific than that of {{{read}}}. Perhaps this could be detected by the scrutinizer and warned about accordingly."	enhancement	new	minor	someday	scrutinizer	4.10.x				hard
