[New solver] Recursive type no longer working

when doing

type TypeA<A... = ()> = {
	Func: (self: TypeA<A...>, func: (A...) -> ()) -> (),
}

type TypeB<A = any> = {
	Value:			TypeA<TypeB<A>>,
}

local value = {} :: TypeB

i now get this type error

but before on the old type solver it worked fine

1 Like

Hello! Thanks for the report and concise reproduction. A fix should be on the way for this issue: several users have noted the “recursive type being used with different parameters” error is overzealous. I’ll check back in when it rolls out.

1 Like

Hello again! We’ve rolled out a fix here, the snippet you provided:

type TypeA<A... = ()> = {
	Func: (self: TypeA<A...>, func: (A...) -> ()) -> (),
}

type TypeB<A = any> = {
	Value:			TypeA<TypeB<A>>,
}

local value = {} :: TypeB

… no longer has a type error. Please let us know if you run into any further issues!