Skip to content

Rule proposal: Disallow unions with unknown or any #3926

Closed
@fregante

Description

@fregante

Description

From what I understand, T | unknown and T | any resolve to just unknown and any respectively, so I don't think they're particularly useful.

However maybe it's still useful as suggested type documentation, because such types would still appear as X | unknown in some cases.

Thoughts?

Fail

type MaybeNumber = number | unknown;

function isNumber(value: number | any): value is number {
	return typeof value === 'number';
}

Pass

type MaybeNumber = unknown;

function isNumber(value: any): value is number {
	return typeof value === 'number';
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issueenhancement: new plugin ruleNew rule request for eslint-pluginpackage: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions