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

Labels

Domain: Type CheckingRelated to type checking, grammar checkingType OrderingAn issue related to ordering of types

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions