Avatar ·

Erro TS2322: "could be instantiated with a different subtype of constraint 'object'" — como corrigir?

Olá! Sou novo em TypeScript e me deparei com um erro estranho ao usar generics. Tenho uma função simples que deve aceitar um objeto e retornar suas chaves. Quero que a função funcione com qualquer objeto, mas mantenha o tipo de retorno como um array de chaves desse objeto. Aqui está meu código: ```typescript function getKeys(obj: T): (keyof T)[] { return Object.keys(obj) as (keyof T)[]; } function processObject(data: T) { // Aqui quero passar data para outra função const handler = (input: U): void => { const keys = getKeys(input); console.log(keys); }; handler(data); // ERRO aqui! } ``` TypeScript exibe o erro: `Argument of type 'T' is not assignable to parameter of type 'U'. 'U' could be instantiated with a different subtype of constraint 'object'.` Não entendo por que isso acontece. Afinal, tanto T quanto U são restritos ao tipo `object`. Por que o TypeScript...