Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PSPossibleIncorrectUsageOfAssignmentOperator fires when assigning value inside if($()) #2048

Open
o-l-a-v opened this issue Dec 11, 2024 · 0 comments

Comments

@o-l-a-v
Copy link

o-l-a-v commented Dec 11, 2024

Before submitting a bug report:

  • Make sure you are able to repro it on the latest released version
  • Perform a quick search for existing issues to check if this bug has already been reported

Steps to reproduce

<#
    .EXAMPLE
        Invoke-ScriptAnalyzer -Path $pseditor.GetEditorContext().CurrentFile.Path `
            -IncludeRule 'PSPossibleIncorrectUsageOfAssignmentOperator'
#>

# Sample code
if (
    [bool]$(Try{$null=[datetime]('2024-11-12T09:44:00Z');$?}Catch{$false})
) {
    Write-Output -InputObject 'Could be parsed as datetime'
}
else {
    Write-Output -InputObject 'Could not be parsed as datetime'
}

Expected behavior

No warnings.

Actual behavior

PS > Invoke-ScriptAnalyzer -Path $pseditor.GetEditorContext().CurrentFile.Path `
            -IncludeRule 'PSPossibleIncorrectUsageOfAssignmentOperator'

RuleName                            Severity     ScriptName Line  Message
--------                            --------     ---------- ----  -------
PSPossibleIncorrectUsageOfAssignmen Warning      241211 -   9     Did you mean to use the assignment operator '='? The
tOperator                                        PSSA -           equality operator in PowerShell is 'eq'.
                                                 Did you
                                                 mean.ps1

PS >

If an unexpected error was thrown then please report the full error details using e.g. $error[0] | Select-Object *

Environment data

PS > $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.6
PSEdition                      Core
GitCommitId                    7.4.6
OS                             Microsoft Windows 10.0.26100
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

PS > (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }

1.23.0

PS >
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant