chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #1513: Type declarations in modules do not namespace


From: Chicken Trac
Subject: [Chicken-janitors] #1513: Type declarations in modules do not namespace structs
Date: Mon, 20 Aug 2018 19:49:00 -0000

#1513: Type declarations in modules do not namespace structs
----------------------------+-----------------------------
 Reporter:  sjamaan         |                 Owner:
     Type:  defect          |                Status:  new
 Priority:  major           |             Milestone:  5.0
Component:  core libraries  |               Version:  5.0
 Keywords:                  |  Estimated difficulty:  easy
----------------------------+-----------------------------
 As reported by Jörg Wittenberger, the following program gives a
 compilation warning in CHICKEN 5 but not in CHICKEN 4:

 {{{
 (module
  foo
  *
  (import scheme)
  (cond-expand
   (chicken-5
    (import
    (chicken base)
    (chicken type)
    ))
   (else (import chicken)))
  (: make-foo (string --> (struct foo)))
  (define-record foo bar)
  )
 }}}

 Presumably this is because the low-level name of the struct is `foo#foo`
 here (because we're inside a module).  I think the correct fix for this
 would be to look at struct identifiers, and when unqualified, just prefix
 it.

--
Ticket URL: <https://bugs.call-cc.org/ticket/1513>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

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