Skip to content
This repository has been archived by the owner on Mar 25, 2021. It is now read-only.

[bugfix] no-unsafe-any: allow implicitly downcasting any to unknown #4442

Merged
merged 8 commits into from
Jan 11, 2019

Conversation

ThomasdenH
Copy link
Contributor

@ThomasdenH ThomasdenH commented Jan 7, 2019

PR checklist

Overview of change:

Downcasting any to unknown is always safe. This PR fixes the no-unsafe-any rule to reflect this.

Is there anything you'd like reviewers to focus on?

I have copied from existing test cases and modified them to use unknown. I have tried to be exhaustive, but there might still be false positives.

CHANGELOG.md entry:

[bugfix] no-unsafe-any: allow implicitly downcasting any to unknown

@ThomasdenH
Copy link
Contributor Author

It looks like simply ignoring the errors doesn't work here, unfortunately.

@ThomasdenH
Copy link
Contributor Author

Moving the tests containing unknown to file that only runs on typescript >= 3.0.0 fixed it.

Copy link
Contributor

@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally LGTM except for the unnecessary parameter. Another maintainer should take a look to be sure.

src/rules/noUnsafeAnyRule.ts Outdated Show resolved Hide resolved
@ThomasdenH
Copy link
Contributor Author

The issue has been adressed, this PR is ready for a review when you have the time.

Copy link
Contributor

@adidahiya adidahiya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM otherwise

test/rules/no-unsafe-any/unknown/test.ts.lint Show resolved Hide resolved
test/rules/no-unsafe-any/unknown/test.ts.lint Outdated Show resolved Hide resolved
test/rules/no-unsafe-any/unknown/test.ts.lint Outdated Show resolved Hide resolved
test/rules/no-unsafe-any/unknown/test.ts.lint Outdated Show resolved Hide resolved
@ThomasdenH
Copy link
Contributor Author

ThomasdenH commented Jan 11, 2019

Thanks for the review! I have addressed your suggestions. I also removed the module imports as they didn't test anything that isn't tested by the other tests for this lint already.

@adidahiya adidahiya merged commit 4e21e43 into palantir:master Jan 11, 2019
ColCh added a commit to ColCh/tslint that referenced this pull request Feb 3, 2019
* master: (60 commits)
  Added tslint-brunch to the list of 3rd party tools (palantir#4251)
  Switch to tslint-plugin-prettier, clean up rule options config syntax (palantir#4488)
  Enable grouped-imports for ordered-imports rule in tslint:all config (palantir#4420)
  Ordered imports grouping (palantir#4134)
  trailing-comma: check for a closing parenthesis (palantir#4457)
  Update index.md (palantir#4473)
  [bugfix] `no-unsafe-any`: allow implicitly downcasting `any` to `unknown` (palantir#4442)
  Add v5.12.1 changelog
  Bump version to 5.12.1
  Fix quotemark avoid-template issues (palantir#4408)
  Skip linting JSON files entirely (palantir#4001)
  Fix strict-type-predicate for unknown (palantir#4444)
  restrict increment-decrement fixer while fixing the postfix unary expressions (palantir#4415)
  Mention file names in script parse failures (palantir#4397)
  Revert breaking change to tslint:recommended, update tslint:latest (palantir#4404)
  Fix quotemark avoid-template issues (palantir#4408)
  Bump tslint dev dependency to 5.12.0 (palantir#4452)
  Skip linting JSON files entirely (palantir#4001)
  Fix strict-type-predicate for unknown (palantir#4444)
  [README] Update link for Webstorm (palantir#4450)
  ...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

no-unsafe-any and unknown
3 participants