Closed
Description
When excluding a type from an unlimited type , it should calculate excluded type first but it doesnt. For example:
type NonZ = Exclude<string, 'Z'>;
const myval: NonZ = 'Z'; // doesnt give any error
Because of this bug many other bugs happens like :
interface HasNotZ {
[key: NonZ]: number
}
const MyObj : HasNotZ = {
Z: 123 // is still valid .... Should give an error
}