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

Default error handler is not helping #6418

Closed
shyim opened this issue May 15, 2021 · 16 comments · Fixed by rectorphp/rector-src#42
Closed

Default error handler is not helping #6418

shyim opened this issue May 15, 2021 · 16 comments · Fixed by rectorphp/rector-src#42
Labels

Comments

@shyim
Copy link
Contributor

shyim commented May 15, 2021

Bug Report

Subject Details
Rector version 0.11.2
Installed as composer dependency

Minimal PHP Code Causing Issue

dev@phpstorm ~/Code/sw6 $ ../vendor/bin/rector process custom/plugins/FroshPlatformMailArchive/src/Controller/Api/MailResendController.php     
 4/4 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

                                                                                                                        
 [OK] Rector is done!                                                                                                   
                                                                                                                        

Expected Behaviour

See the error and not a green OK. Maybe change it to warning with an help text to use -vvv

dev@phpstorm ~/Code/sw6 $ ../vendor/bin/rector process custom/plugins/FroshPlatformMailArchive/src/Controller/Api/MailResendController.php  -vv
[parsing] custom/plugins/FroshPlatformMailArchive/src/Controller/Api/MailResendController.php

In IdentifierNotFound.php line 24:
                                                                                                                                                               
  [PHPStan\BetterReflection\Reflector\Exception\IdentifierNotFound]                                                                                            
  PHPStan\BetterReflection\Reflection\ReflectionClass "Symfony\Bundle\FrameworkBundle\Controller\AbstractController" could not be found in the located source  
                                                                                                                                                               

Exception trace:
  at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflector/Exception/IdentifierNotFound.php:24
 PHPStan\BetterReflection\Reflector\Exception\IdentifierNotFound::fromIdentifier() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflector/ClassReflector.php:47
 PHPStan\BetterReflection\Reflector\ClassReflector->reflect() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/BetterReflection/Reflector/MemoizingClassReflector.php:29
 PHPStan\Reflection\BetterReflection\Reflector\MemoizingClassReflector->reflect() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/ReflectionClass.php:645
 PHPStan\BetterReflection\Reflection\ReflectionClass->getParentClass() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/Adapter/ReflectionClass.php:368
 PHPStan\BetterReflection\Reflection\Adapter\ReflectionClass->getParentClass() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ClassReflection.php:161
 PHPStan\Reflection\ClassReflection->getParentClass() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/PhpDoc/PhpDocBlock.php:196
 PHPStan\PhpDoc\PhpDocBlock::getParentReflections() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/PhpDoc/PhpDocBlock.php:178
 PHPStan\PhpDoc\PhpDocBlock::resolveParentPhpDocBlocks() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/PhpDoc/PhpDocBlock.php:146
 PHPStan\PhpDoc\PhpDocBlock::resolvePhpDocBlockTree() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/PhpDoc/PhpDocBlock.php:128
 PHPStan\PhpDoc\PhpDocBlock::resolvePhpDocBlockForMethod() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/PhpDoc/PhpDocInheritanceResolver.php:32
 PHPStan\PhpDoc\PhpDocInheritanceResolver->resolvePhpDocForMethod() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php:2876
 PHPStan\Analyser\NodeScopeResolver->getPhpDocs() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php:367
 PHPStan\Analyser\NodeScopeResolver->processStmtNode() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php:252
 PHPStan\Analyser\NodeScopeResolver->processStmtNodes() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php:491
 PHPStan\Analyser\NodeScopeResolver->processStmtNode() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php:252
 PHPStan\Analyser\NodeScopeResolver->processStmtNodes() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php:457
 PHPStan\Analyser\NodeScopeResolver->processStmtNode() at phar:///home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php:220
 PHPStan\Analyser\NodeScopeResolver->processNodes() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/packages/NodeTypeResolver/PHPStan/Scope/PHPStanNodeScopeResolver.php:130
 Rector\NodeTypeResolver\PHPStan\Scope\PHPStanNodeScopeResolver->processNodes() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/packages/NodeTypeResolver/NodeScopeAndMetadataDecorator.php:78
 Rector\NodeTypeResolver\NodeScopeAndMetadataDecorator->decorateNodesFromFile() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Application/FileProcessor.php:48
 Rector\Core\Application\FileProcessor->parseFileInfoToLocalCache() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php:107
 Rector\Core\Application\FileProcessor\PhpFileProcessor->Rector\Core\Application\FileProcessor\{closure}() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php:179
 Rector\Core\Application\FileProcessor\PhpFileProcessor->tryCatchWrapper() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Application/FileProcessor/PhpFileProcessor.php:108
 Rector\Core\Application\FileProcessor\PhpFileProcessor->process() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Application/ApplicationFileProcessor.php:70
 Rector\Core\Application\ApplicationFileProcessor->processFiles() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Application/ApplicationFileProcessor.php:56
 Rector\Core\Application\ApplicationFileProcessor->run() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Console/Command/ProcessCommand.php:130
 Rector\Core\Console\Command\ProcessCommand->execute() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/symfony/console/Command/Command.php:230
 RectorPrefix20210514\Symfony\Component\Console\Command\Command->run() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/symfony/console/Application.php:826
 RectorPrefix20210514\Symfony\Component\Console\Application->doRunCommand() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/symfony/console/Application.php:251
 RectorPrefix20210514\Symfony\Component\Console\Application->doRun() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/src/Console/ConsoleApplication.php:72
 Rector\Core\Console\ConsoleApplication->doRun() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/vendor/symfony/console/Application.php:152
 RectorPrefix20210514\Symfony\Component\Console\Application->run() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/bin/rector.php:52
 require_once() at /home/dev/Code/FroshPluginUploader/vendor/rector/rector/bin/rector:5

process [-n|--dry-run] [-a|--autoload-file AUTOLOAD-FILE] [-o|--output-format [OUTPUT-FORMAT]] [--no-progress-bar] [--no-diffs] [--output-file OUTPUT-FILE] [--cache-debug] [--clear-cache] [--] [<source>...]
```
@shyim shyim added the bug label May 15, 2021
@shyim
Copy link
Contributor Author

shyim commented May 15, 2021

Even with -vvv it's not able to get the real errors sometimes.

[printing skipped due error] src/Controller/Api/MailResendController.php

$this->advance($file, 'printing skipped due error');

@TomasVotruba
Copy link
Member

Thanks for reporting 👍

We'll need a minimal reproducible repository.

@sabbelasichon
Copy link
Contributor

I could provide something. Had the same issues some days ago.

@sabbelasichon
Copy link
Contributor

It´s all about clear communication. Nothing wrong but just the message could be clearer here.

sabbelasichon added a commit to sabbelasichon/rector-src that referenced this issue May 15, 2021
sabbelasichon added a commit to sabbelasichon/rector-src that referenced this issue May 15, 2021
TomasVotruba pushed a commit to rectorphp/rector-src that referenced this issue May 15, 2021
@tostercx
Copy link

Not sure what has changed but I'm only getting [printing skipped due error] again, no file errors (on 0.11.36)

Tried both --debug and -vvv

@TomasVotruba TomasVotruba reopened this Jul 19, 2021
@TomasVotruba
Copy link
Member

Could you provide minimal PHP file this fails on?

@tostercx
Copy link

tostercx commented Jul 19, 2021

It's surprisingly hard to minimize this, I encountered it while following the guide: https://getrector.org/blog/2020/04/16/how-to-migrate-from-phpexcel-to-phpspreadsheet-with-rector-in-30-minutes

Basically an exception gets thrown from https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Writer/PDF/DomPDF.php#L1-L10

Even tho I'm not using PDF outputs (but that's another issue).

To recreate:

php --version

PHP 7.4.3 (cli) (built: Jul  5 2021 15:13:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
    
mkdir test && cd test
composer init
composer require PHPOffice/PHPExcel
composer require rector/rector

rector.php

<?php

use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

return static function (ContainerConfigurator $containerConfigurator): void {
    $containerConfigurator->import(SetList::PHPEXCEL_TO_PHPSPREADSHEET);
};

test.php

<?php

include 'vendor/autoload.php';

$obj = new \PHPExcel_Writer_Excel2007(new \PHPExcel());
$obj->setPreCalculateFormulas(true);

output

$ vendor/bin/rector process test.php -vvv --debug
 0/1 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░]   0% < 1 sec/< 1 sec 48.5 MiB[parsing] test.php
PHP Deprecated:  Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php on line 529
[...]
Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php on line 537
[refactoring] test.php
    [applying] Rector\Renaming\Rector\Name\RenameClassRector
    [applying] Rector\PHPOffice\Rector\StaticCall\AddRemovedDefaultValuesRector
PHP Deprecated:  Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php on line 2189
[...]
Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php on line 907
[post rectors] test.php
[printing skipped due error] test.php


 [OK] Rector is done!

^ lots of deprecation warnings but the error isn't shown (full output). I'm not sure what or how exactly includes the file. I patched back in rectorphp/rector-src@276dd96 to see the error. Commenting out the throw in all PDF writers solved it.

@TomasVotruba
Copy link
Member

Hi, this is actually something Rector cannot handle, as it's syntax issue that breaks php-parser.

Deprecated: Array and string offset access syntax with curly braces is deprecated

This is a way to fix it, see https://gist.github.com/theodorejb/763b83a43522b0fc1755a537663b1863#gistcomment-3254515

@tostercx
Copy link

tostercx commented Jul 19, 2021

Hi, this is actually something Rector cannot handle, as it's syntax issue that breaks php-parser.

I don't see how this is connected to the warnings, removing the exceptions fixed it. It runs fine with the deprecation warnings still there?

vendor/bin/rector process test.php -vvv --debug
 0/1 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░]   0% < 1 sec/< 1 sec 48.5 MiB[parsing] test.php
PHP Deprecated:  Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php on line 529
[...]
Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php on line 537
[refactoring] test.php
    [applying] Rector\Renaming\Rector\Name\RenameClassRector
    [applying] Rector\PHPOffice\Rector\StaticCall\AddRemovedDefaultValuesRector
PHP Deprecated:  Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php on line 2189
[...]
Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php on line 907
    [applying] Rector\PHPOffice\Rector\MethodCall\ChangeConditionalReturnedCellRector
    [applying] Rector\PHPOffice\Rector\MethodCall\ChangeConditionalGetConditionRector
    [applying] Rector\PHPOffice\Rector\MethodCall\ChangeConditionalSetConditionRector
    [applying] Rector\PHPOffice\Rector\MethodCall\RemoveSetTempDirOnExcelWriterRector
    [applying] Rector\PHPOffice\Rector\MethodCall\ChangeDuplicateStyleArrayToApplyFromArrayRector
    [applying] Rector\PHPOffice\Rector\MethodCall\GetDefaultStyleToGetParentRector
    [applying] Rector\PHPOffice\Rector\MethodCall\IncreaseColumnIndexRector
    [applying] Rector\Renaming\Rector\MethodCall\RenameMethodRector
[post rectors] test.php
[print] test.php

1 file with changes
===================

1) test.php

    ---------- begin diff ----------
--- Original
+++ New
@@ @@

 include 'vendor/autoload.php';

-$obj = new \PHPExcel_Writer_Excel2007(new \PHPExcel());
+$obj = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx(new \PhpOffice\PhpSpreadsheet\Spreadsheet());
 $obj->setPreCalculateFormulas(true);
    ----------- end diff -----------

Applied rules:
 * RenameClassRector



 [OK] 1 file has been changed by Rector

Lines removed:

https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Writer/PDF/DomPDF.php#L8
https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Writer/PDF/mPDF.php#L8
https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Writer/PDF/tcPDF.php#L9

I'm only complaining that the exceptions were thrown but were not shown on screen - makes it confusing and hard to debug. Not a major issue ofc.

@TomasVotruba
Copy link
Member

I see, you're right. Rector should be able to report this better and recover if not fatal error. Let's fix it then.

Could you come up with solution that would accept PHP deprecations from code and let Rector run anyway? So it would work on your code-base without removing lines manually.

@tostercx
Copy link

I'm still not sure we're on the same page - sorry I couldn't provide a simpler example.

  • the example above stops with [printing skipped due error] without showing the actual error/exception on the current version (0.11.36)
  • the older version rectorphp/rector-src@276dd96 did show the exception(s) and the stack trace - that is how I found my workaround
  • it would be nice if exceptions that stop processing files were always printed

The deprecation warnings seem to be irrelevant in this case.

@TomasVotruba
Copy link
Member

TomasVotruba commented Jul 20, 2021

I understand. It was only moved here: https://github.com/rectorphp/rector-src/blob/48ccb539d49aede106e02c5a855b51f8548f3c07/packages/ChangesReporting/Output/ConsoleOutputFormatter.php#L41

Could you verify if that line is runned in your code? It's possible this deprecation is not collected as error, while previous errors you've seen were actually thrown as exceptions.

@tostercx
Copy link

The line is ran but there's no errors collected. I added:

    /**
     * @param \Rector\Core\ValueObject\ProcessResult $processResult
     * @param \Rector\Core\ValueObject\Configuration $configuration
     */
    public function report($processResult, $configuration) : void
    {
        if ($configuration->shouldShowDiffs()) {
            $this->reportFileDiffs($processResult->getFileDiffs());
        }
        
        var_dump($processResult->getErrors()); // returns empty array
        
        $this->reportErrors($processResult->getErrors());
        $this->reportRemovedFilesAndNodes($processResult);

Output:

[...]
Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php on line 907
[post rectors] test.php
[printing skipped due error] test.php
array(0) {
}


 [OK] Rector is done!

However adding:

            foreach ($file->getErrors() as $error) {
                $this->symfonyStyle->error($error->getMessage());
            }

here: https://github.com/rectorphp/rector-src/blob/48ccb539d49aede106e02c5a855b51f8548f3c07/src/Application/FileProcessor/PhpFileProcessor.php#L69

clearly prints the error

Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/c/Users/user/Desktop/a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php on line 907
[post rectors] test.php


 [ERROR] Analyze error: "PHPExcel_Writer_Exception (Unable to load PDF Rendering library) thrown while looking for class
         PHPExcel_Writer_PDF_DomPDF.". Include your files in "$parameters->set(Option::AUTOLOAD_PATHS, [...]);" in
         "rector.php" config.
         See https://github.com/rectorphp/rector#configuration


[printing skipped due error] test.php


 [OK] Rector is done!

@TomasVotruba
Copy link
Member

TomasVotruba commented Jul 22, 2021

I see, thanks for the investigation.
This means the error is in file, but is lost somewhere during creation of error result :/

@TomasVotruba
Copy link
Member

TomasVotruba commented Jul 22, 2021

I think I can see it now:
https://github.com/rectorphp/rector-src/pull/489/files#diff-40adcfe64178baac96d816e00034234d183c9963c63cad81b0a994a5ac14a618

Errors were only displayed, if there was some change in file content. So if there was a fatal error → no diff → no error displayed.

My bad.


Could you check if this change work for you?

@TomasVotruba
Copy link
Member

Resolved by rectorphp/rector-src#489

TomasVotruba added a commit that referenced this issue Nov 12, 2024
rectorphp/rector-src@d2db35e [Php80] Returns null on no change on ClassPropertyAssignToConstructorPromotionRector (#6418)
carlos-granados added a commit to carlos-granados/rector that referenced this issue Nov 13, 2024
carlos-granados/rector-src@f7ea3db [PHP8.3] add new rectors for get_class()/get_parent_class() without arguments (rectorphp#6405)
carlos-granados/rector-src@1afc647 Rectify (rectorphp#6408)
carlos-granados/rector-src@afe7c46 [DeadCode] Skip nullable @ template on RemoveUselessReturnTagRector (rectorphp#6409)
carlos-granados/rector-src@293eb97 [Php81] Skip Doctrine Embeddable on ReadOnlyPropertyRector (rectorphp#6411)
carlos-granados/rector-src@1b1807b [Privatization] Skip with parameter on PrivatizeLocalGetterToPropertyRector (rectorphp#6412)
carlos-granados/rector-src@2c67908 Fix ClassDependencyManipulator to add dependency on right position (rectorphp#6413)
carlos-granados/rector-src@29e8932 [automated] Apply Coding Standard (rectorphp#6414)
carlos-granados/rector-src@3949fc2 Move instanceof PHPStan Type to ->is*() take 1 (rectorphp#6416)
carlos-granados/rector-src@0cac71a [CodeQuality] Add fixture test for skip nullable array from property with default value (rectorphp#6417)
carlos-granados/rector-src@d2db35e [Php80] Returns null on no change on ClassPropertyAssignToConstructorPromotionRector (rectorphp#6418)
carlos-granados/rector-src@06adce3 use ->isInteger()->yes() on ReturnTypeFromStrictNewArrayRector (rectorphp#6419)
carlos-granados/rector-src@bcfb598 Add ClassNameFromObjectTypeResolver to cover TypeWithClassName instance checks (rectorphp#6420)
carlos-granados/rector-src@84bb596 [StaticTypeMapper] Reduce instanceof TypeWithClassName usage via ClassNameFromObjectTypeResolver (rectorphp#6421)
carlos-granados/rector-src@26b8b54 [Naming] Reduce instanceof ObjectType on ExpectedNameResolver (take 5) (rectorphp#6423)
carlos-granados/rector-src@5baf487 Require-dev phpstan/phpstan-deprecation-rules to show list of deprecated (rectorphp#6415)
carlos-granados/rector-src@c23ba82 [deprecation] Remove deprecated PublicConstantVisibilityRector, cleanup deprecated SetListInterface (rectorphp#6424)
carlos-granados/rector-src@c2053c7 [deprecation] Deprecate AbstractScopeAwareRector in favor of single AbstractRector (rectorphp#6425)
carlos-granados/rector-src@2c5cd97 [deprecated] Remove deprecated AbstractTestCase (rectorphp#6426)
carlos-granados/rector-src@fb3c33a Merge commit '2c5cd97a3a98ab5af9efb846f6f78738e4a195a6'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants