Inside the StructType.

From something like this.

(struct foo ())

(define-type bar foo)
(: f (Struct-Type bar))
(define f (ann (error 'nyi) (Struct-Type foo)))


On Sun, Dec 29, 2013 at 12:56 PM, Asumu Takikawa
<notifications@github.com>wrote:

> In pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/types/subtype.rkt:
>
> > @@ -460,6 +460,8 @@
> >           [((Struct: nm _ _ _ _ _) (StructTop: (Struct: nm* _ _ _ _ _)))
> >            #:when (free-identifier=? nm nm*)
> >            A0]
> > +         ;; All struct-type types are subtypes of the struct type top type
> > +         [((StructType: _) (StructTypeTop:)) A0]
>
> I think this case should be fine, because there are two earlier match
> clauses that check for "unresolvedness" and will resolve and recur. Or did
> you mean resolve inside the StructType?
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/plt/racket/pull/531/files#r8579879>
> .
>