In the provided example, yes I&#39;m seeing the stale zo issue.  In my &quot;real&quot; code, each submodule also requires a common module as well and in this situation I get a cyclic require error as well when check-syntax is performed as well as the zo error at the bottom of DR.  I don&#39;t know if there are two distinct issues or one domino-ing the other.<div>
<div><br><div class="gmail_quote">On Tue, Aug 28, 2012 at 12:27 PM, Sam Tobin-Hochstadt <span dir="ltr">&lt;<a href="mailto:samth@ccs.neu.edu" target="_blank">samth@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Tue, Aug 28, 2012 at 12:23 PM, Eric Dobson &lt;<a href="mailto:eric.n.dobson@gmail.com">eric.n.dobson@gmail.com</a>&gt; wrote:<br>
&gt; Possibly, how is it not working for you?<br>
&gt;<br>
&gt; With:<br>
&gt; #lang typed/racket/base<br>
&gt;<br>
&gt; (module mytypes racket/base<br>
&gt;<br>
&gt;   (provide  S)<br>
&gt;<br>
&gt;   (struct S ()))<br>
&gt;<br>
&gt; (module tyuser racket/base<br>
&gt;<br>
&gt;   (require<br>
&gt;    (submod &quot;..&quot; mytypes))<br>
&gt;<br>
&gt;   (define (mkS value)<br>
&gt;     (S)))<br>
&gt;<br>
&gt; (note submodules are now in plain racket)<br>
&gt;<br>
&gt;<br>
&gt; I get:<br>
&gt; tmp.rkt:17:5: link: module mismatch;<br>
&gt;  possibly, bytecode file needs re-compile because dependencies changed<br>
&gt;   importing module: &#39;tyuser<br>
&gt;   exporting module: &#39;tmp<br>
&gt;   exporting phase level: 0<br>
&gt;   internal explanation: variable not provided (directly or indirectly)<br>
&gt;   at: make-S<br>
&gt;   in: make-S.1<br>
&gt;   context...:<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:308:0: compile-zo*<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:508:26<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:501:42<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:466:0:<br>
&gt; maybe-compile-zo<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:579:2: do-check<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:653:4<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/commands/make.rkt:77:8:<br>
&gt; for-loop<br>
&gt;    /Users/endobson/proj/racket/plt/collects/compiler/commands/make.rkt:<br>
&gt; [running body]<br>
&gt;    /Users/endobson/proj/racket/plt/collects/raco/raco.rkt: [running body]<br>
&gt;    /Users/endobson/proj/racket/plt/collects/raco/main.rkt: [running body]<br>
&gt;<br>
&gt; Which looks like a bug in TR handling of submodules.<br>
<br>
</div></div>I believe that this is a bug in Racket, although I&#39;m not sure.  You<br>
can see a simpler example here:<br>
<a href="http://drdr.racket-lang.org/25284/collects/tests/typed-racket/succeed/internal-typed-submod.rkt" target="_blank">http://drdr.racket-lang.org/25284/collects/tests/typed-racket/succeed/internal-typed-submod.rkt</a><br>

<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt; On Tue, Aug 28, 2012 at 7:32 AM, Ray Racine &lt;<a href="mailto:ray.racine@gmail.com">ray.racine@gmail.com</a>&gt; wrote:<br>
&gt;&gt; The following does not work.  Bug?<br>
&gt;&gt;<br>
&gt;&gt; #lang typed/racket/base<br>
&gt;&gt;<br>
&gt;&gt; (module mytypes typed/racket/base<br>
&gt;&gt;<br>
&gt;&gt;   (provide<br>
&gt;&gt;    (struct-out S))<br>
&gt;&gt;<br>
&gt;&gt;   (struct: S ()))<br>
&gt;&gt;<br>
&gt;&gt; (module tyuser typed/racket/base<br>
&gt;&gt;<br>
&gt;&gt;   (require<br>
&gt;&gt;    (submod &quot;..&quot; mytypes))<br>
&gt;&gt;<br>
&gt;&gt;   (: mkS (Any -&gt; S))<br>
&gt;&gt;   (define (mkS value)<br>
&gt;&gt;     (S)))<br>
&gt;&gt;<br>
&gt;&gt; ____________________<br>
&gt;&gt;   Racket Users list:<br>
&gt;&gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
&gt;&gt;<br>
&gt; ____________________<br>
&gt;   Racket Users list:<br>
&gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
sam th<br>
<a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a><br>
</font></span></blockquote></div><br></div></div>