Skip to content

Squiz.Arrays.ArrayDeclaration false positive when using type casting #3059

Closed
@morozov

Description

@morozov

Describe the bug
A false-positive rule violation is detected that conflicts with another rule and prevents auto-fixing.

Code sample

<?php

function test()
{
    return [
        (object) [
            'a' => 'foo',
            'b' => 1,
        ],
    ];
}

Custom ruleset
None.

To reproduce
Steps to reproduce the behavior:

  1. Run phpcs -s --standard=Squiz --sniffs=Squiz.Arrays.ArrayDeclaration,Generic.Formatting.SpaceAfterCast fail.php
FILE: /home/morozov/Projects/phpcs-playground/fail.php
------------------------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------------------------
 6 | ERROR | [x] The first value in a multi-value array must be on a new line
   |       |     (Squiz.Arrays.ArrayDeclaration.ValueNoNewline)
------------------------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------------------------

Time: 47ms; Memory: 8MB
  1. Run phpcbf --standard=Squiz --sniffs=Squiz.Arrays.ArrayDeclaration,Generic.Formatting.SpaceAfterCast fail.php
PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
/home/morozov/Projects/phpcs-playground/fail.php     FAILED TO FIX
----------------------------------------------------------------------
A TOTAL OF 0 ERRORS WERE FIXED IN 1 FILE
----------------------------------------------------------------------
PHPCBF FAILED TO FIX 1 FILE
----------------------------------------------------------------------

Time: 124ms; Memory: 8MB

Expected behavior
No error is reported.

Versions (please complete the following information):

  • OS: Linux
  • PHP: 7.4.9
  • PHPCS: 3.5.6
  • Standard: Squiz

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions