segfault via specialization added by DerGuteMoritz on Tue Aug 25 20:55:38 2015

(: foo (-> string))

(define (foo) (read))

(print (string-ref (foo) 0))

;; $ csc -debug eP -specialize baz.scm && echo '"foo"' | ./baz 
;; specializations:
;;   1 (string-ref string fixnum)
;; [specialization]
;; (lambda ()
;;   (let ((t2 (##core#callunit "library")))
;;     (let ((t3 (##core#callunit "eval")))
;;       (let ((t4 (##core#callunit "chicken_2dsyntax")))
;;         (let ((t5 (set! foo (lambda () (read)))))
;;           (let ((t6 (print (##core#inline "C_subchar" (foo) 0))))
;;             (let ((t7 ((##sys#implicit-exit-handler))))
;;               (##core#undefined))))))))
;; f
;;
;; $ echo '123' | ./baz             
;; 
;; Error: segmentation violation
;; 
;; 	Call history:
;; 
;; 	baz.scm:5: foo	  
;; 	baz.scm:3: read	  	<--