view tests/functorMadness.ur @ 2044:42ae25a354f8

Retweak the last tweak to allow type inference to succeed in a strict superset of the places where it used to succeed
author Adam Chlipala <adam@chlipala.net>
date Tue, 29 Jul 2014 14:46:06 -0400
parents 210fb3dfc483
children
line wrap: on
line source
functor F(M : sig end) = struct
    fun f () = f ()

    functor G(M : sig end) = struct
        fun g () = f ()
    end
end

structure M1 = F(struct end)
structure M2 = F(struct end)

structure N1 = M1.G(struct end)
structure N2 = M2.G(struct end)

fun main () : transaction page =
    return (N1.g ());
    return (N2.g ());
    return <xml/>