Skip to content

Problem with ConstructorParameters when it's use in callable parameterΒ #48141

@swojdyga

Description

@swojdyga

Bug Report

πŸ”Ž Search Terms

ConstructorParameters Target requires 1 element(s) but source may have fewer.

πŸ•— Version & Regression Information

4.5.4
newest - 4.7.0-dev.20220305

⏯ Playground Link

https://www.typescriptlang.org/play#code/GYVwdgxgLglg9mABAJwKYGc4BsBuqA8A0gDSIAqiqAHlKmACbqJioDuiAFAHQ8CGyAc3QAuRLzABPANoBdAJSIAvAD5EhZRwCwAKER7EEBOijIQ0OMlFliO-QaMmzUCwAV+vALboAwryxZeACMsVFEOBRVEbwdTc2Q3ZE9UWmR0fDJlG205UUJEAG9bfTQoEGQkfIBfMSZCAG4dSp1m7QgA9CYAZTgPVG92pkLdfQAHEGCYCHswY1jnZC1huz0R5BgcXloUVF56BCwJRExegBFUEbp6OggJUVmYMAEsuwUhor0m7U+dNExcVA43V6-V4HVI4SUqikACIABKofxwRAAdQsWHoAEJofI6kA

πŸ’» Code

function resolve<K, T extends new (...args: any[]) => K>(
    constructor: T,
    constructorParamsCallable: () => ConstructorParameters<T>,
): K {
    return {} as K;
}


class SomeClass {
    public constructor(
        private readonly someDependency: string,
    ) {

    }
}

resolve(SomeClass, () => ["Hello World!"]);

πŸ™ Actual behavior

Error "Target requires 1 element(s) but source may have fewer.".

πŸ™‚ Expected behavior

I think it just should working like it working, when ConstructorParameters is without callable method -> https://www.typescriptlang.org/play?#code/GYVwdgxgLglg9mABAJwKYGc4BsBuqA8A0gDSIAqiqAHlKmACbqJioDuiAFAHQ8CGyAc3QAuRLzABPANoBdAJSIAvAD5EhZRwCwAKER7EEBOijIQ0OMlFliO-QaMmzUCwAV+vALboAwryxZeACMsVFFvB1NzZDdkT1RaZHR8MmUbbTlRQkQAb1t9NCgQZCRsgF8xJkIAbh1SnXrtCAD0JgBlOA9Ub2amXN19AAcQYJgIezBjSOdkLX67PQHkGBxeWhRUXnoELAlETE6AEVQBuno6CAlRSZgwATS7BT68vTrtV500TFxUDnbO7t4LVIUgARAAJVD+OCIADqFiw9AAhCD5FUgA

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: check: Type InferenceRelated to type inference performed during signature resolution or `infer` type resolution

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions