Summary
-strict-types fails with forall types (sometimes)
Metadata
- Id: 56f70fc2d475253ffa641ae5d14da0221174bddb
- Trac id: 896
- Type: defect
- Reporter: syn
- Owner: felix
- Cc:
- Status: closed
- Component: compiler
- Estimated difficulty:
- Resolution: fixed
- Priority: minor
- Milestone: 4.9.0
- Version: 4.8.x
- Changetime: 2012-09-24 21:47:48 UTC
- Created: 2012-08-13 18:45:37 UTC
- Keywords:
Description
(define-record bar foo) (define-type bar (struct bar)) ;; This breaks with csc -strict-types (: foo (forall (x string) (x -> bar))) ;; Using this declaration instead of the above makes it work ;; (: foo (string -> bar)) ;; Alternatively, removing this declaration makes it work, too (: make-bar (string -> bar)) (define (foo x) (make-bar x))
Tested with 4.8.0rc2
Changes and comments
[2012-08-13 18:46:32 UTC] syn wrote:
Whoops, forgot to mention the actual error. It's
Error: [internal compiler error] resolve: can't resolve unknown type-variable: x20
Call history:
<syntax> (##core#begin (define (foo x) (make-bar x)))
<syntax> (define (foo x) (make-bar x))
<syntax> (##core#set! foo (##core#lambda (x) (make-bar x)))
<syntax> (##core#lambda (x) (make-bar x))
<syntax> (##core#begin (make-bar x))
<syntax> (make-bar x) <--
[2012-08-14 08:51:18 UTC] felix changed status from new to assigned
[2012-08-14 08:51:18 UTC] felix set owner to felix
[2012-08-16 19:19:46 UTC] sjamaan changed status from assigned to closed
[2012-08-16 19:19:46 UTC] sjamaan set resolution to fixed
[2012-08-16 19:19:46 UTC] sjamaan wrote:
Fixed by revision 9c04968eb45c0b14794326711620367af8a839f9
[2012-09-24 21:47:48 UTC] felix changed milestone from 4.8.0 to 4.9.0
[2012-09-24 21:47:48 UTC] felix wrote:
Milestone 4.8.0 deleted