Skip to content

The last overload gave the following error. Type 'unknown' is not assignable to type 'Foo' #1616

@urielzen

Description

@urielzen

I started to get this error today after updating vscode extension to this version:

Identifier
typescriptteam.native-preview
Version
0.20250821.1
Last Updated
2025-08-21, 09:18:07
No overload matches this call.
  The last overload gave the following error.
    Argument of type 'DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, BasePortalOutlet>' is not assignable to parameter of type 'DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<NeighborOut, ModalConfirmation<unknown>>, BasePortalOutlet>'.
      Types of property 'providers' are incompatible.
        Type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<IConfirmationModal<...>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[]) | undefined' is not assignable to type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[]) | undefined'.
          Type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[]' is not assignable to type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[]) | undefined'.
            Type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[]' is not assignable to type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[])'.
              Type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[]' is not assignable to type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<IConfirmationModal<NeighborOut>, DialogRef<...>, BasePortalOutlet>, container: BasePortalOutlet) => StaticProvider[]'.
                Types of parameters 'dialogRef' and 'dialogRef' are incompatible.
                  Type 'DialogRef<NeighborOut, ModalConfirmation<unknown>>' is not assignable to type 'DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>'.
                    The types of 'config.providers' are incompatible between these types.
                      Type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<any, DialogRef<NeighborOut, ModalConfirmation<...>>, DialogContainer>, container: DialogContainer) => StaticProvider[]) | undefined' is not assignable to type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<any, DialogRef<...>, DialogContainer>, container: DialogContainer) => StaticProvider[]) | undefined'.
                        Type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<any, DialogRef<NeighborOut, ModalConfirmation<unknown>>, DialogContainer>, container: DialogContainer) => StaticProvider[]' is not assignable to type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<any, DialogRef<...>, DialogContainer>, container: DialogContainer) => StaticProvider[]) | undefined'.
                          Type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<any, DialogRef<NeighborOut, ModalConfirmation<unknown>>, DialogContainer>, container: DialogContainer) => StaticProvider[]' is not assignable to type 'StaticProvider[] | ((dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<any, DialogRef<...>, DialogContainer>, container: DialogContainer) => StaticProvider[])'.
                            Type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<unknown>>, config: DialogConfig<any, DialogRef<NeighborOut, ModalConfirmation<unknown>>, DialogContainer>, container: DialogContainer) => StaticProvider[]' is not assignable to type '(dialogRef: DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, config: DialogConfig<any, DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>, DialogContainer>, container: DialogContainer) => StaticProvider[]'.
                              Types of parameters 'dialogRef' and 'dialogRef' are incompatible.
                                Type 'DialogRef<NeighborOut, ModalConfirmation<NeighborOut>>' is not assignable to type 'DialogRef<NeighborOut, ModalConfirmation<unknown>>'.
                                  Type 'ModalConfirmation<unknown>' is not assignable to type 'ModalConfirmation<NeighborOut>'.
                                    Type 'unknown' is not assignable to type 'NeighborOut'.ts(2769)

The methods the error above is referencing are from "@angular/cdk": "20.2.0"

    /**
     * Opens a modal dialog containing the given component.
     * @param component Type of the component to load into the dialog.
     * @param config Extra configuration options.
     * @returns Reference to the newly-opened dialog.
     */
    open<R = unknown, D = unknown, C = unknown>(component: ComponentType<C>, config?: DialogConfig<D, DialogRef<R, C>>): DialogRef<R, C>;
    /**
     * Opens a modal dialog containing the given template.
     * @param template TemplateRef to instantiate as the dialog content.
     * @param config Extra configuration options.
     * @returns Reference to the newly-opened dialog.
     */
    open<R = unknown, D = unknown, C = unknown>(template: TemplateRef<C>, config?: DialogConfig<D, DialogRef<R, C>>): DialogRef<R, C>;
    open<R = unknown, D = unknown, C = unknown>(componentOrTemplateRef: ComponentType<C> | TemplateRef<C>, config?: DialogConfig<D, DialogRef<R, C>>): DialogRef<R, C>;

Metadata

Metadata

Assignees

No one assigned

    Labels

    Domain: Type CheckingRelated to type checking, grammar checking

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions