Opened 6 years ago
Closed 6 years ago
#1506 closed defect (fixed)
module importing itself does not result in an error
Reported by: | kristianlm | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 5.1 |
Component: | core tools | Version: | 5.0.0 |
Keywords: | Cc: | ||
Estimated difficulty: |
Description
Doing this hangs csc forever:
[klm@kth test]$ chicken-install check-errors building check-errors installing check-errors [klm@kth test]$ echo '(import type-errors-numbers) (print "ok")' > test.scm [klm@kth test]$ csc test.scm && ./test ok [klm@kth test]$ csc -static test.scm && ./test ^C
I think the cause has something to do with the static dependency list of check-error's type-errors-numbers module:
[klm@kth test]$ cat ~/.chickens/5.0.0rc1/lib/chicken/9/type-errors-numbers.link (type-errors-numbers type-errors-basic) [klm@kth test]$ # this shouldn't contain itself, should it? [klm@kth test]$ # this seems to be a reasonable workaround: [klm@kth test]$ echo '(type-errors-basic)' > ~/.chickens/5.0.0rc1/lib/chicken/9/type-errors-numbers.link [klm@kth test]$ csc -static test.scm && ./test ok
Change History (5)
comment:1 Changed 6 years ago by
Version: | 5.0 → 5.0.0rc1 |
---|
comment:2 Changed 6 years ago by
Milestone: | 5.0 → 5.1 |
---|---|
Summary: | chicken-install produces dependency cycles → module importing itself does not result in an error |
comment:3 Changed 6 years ago by
Version: | 5.0.0rc1 → 5.0.0 |
---|
comment:4 Changed 6 years ago by
Version: | 5.0.0 → 5.0 |
---|
Note: See
TracTickets for help on using
tickets.
It looks like a bug in the egg: The implementation of type-errors-numbers imports its own module!
The weird thing is that we don't get a warning or error while compiling this module. The compiler should give an error about that I think. It's not really a new bug, though. It's not necessary to fix this for 5.0.
A simplified reproduction case:
And then