# Deprecations the Drupal 12 PHPUnit job ignores. .gitlab-ci.yml points core's
# deprecation handler here instead of core/.deprecation-ignore.txt, so the
# first section repeats that file as core's main branch has it. Patterns are
# PCRE; see https://www.drupal.org/node/3285162.

# Contributed modules and Drush, until their releases fix these. Each line
# says which project triggers it.

# entity_reference_revisions, filehash, paragraphs and tool: native return
# types that core 12's interfaces will add.
%Method "[^"]+" might add "[^"]+" as a native return type declaration in the future\. Do the same in (?:implementation|child class) "Drupal\\(?:entity_reference_revisions|filehash|paragraphs|tool)\\[^"]+" now to avoid errors or add an explicit @return annotation to suppress this message%
# pathauto and paragraphs, in hook_install().
%module_set_weight\(\) is deprecated in drupal:11\.5\.0 and is removed from drupal:13\.0\.0%
# tool, in ValueViolationsTrait.
%Method ReflectionProperty::setAccessible\(\) is deprecated since 8\.5%
# tool: drush tool:run is still an annotated command.
%Since drush/drush 14\.0\.0: Convert to a Console command and build a DrushStyle instance%

# Core's own list, from core/.deprecation-ignore.txt on main.

# Cross-module return type deprecations within Drupal core. Downstream
# implementations should add return types first, then we can remove this.
%Method "Drupal\\[^"]+::[^"]+\(\)" might add "[^"]+" as a native return type declaration in the future. Do the same in (?:implementation|child class) "Drupal\\(Core|basic_auth|big_pipe|block|block_content|breakpoint|ckeditor5|comment|config|config_translation|contact|content_moderation|content_translation|contextual|datetime|datetime_range|dblog|dynamic_page_cache|editor|field|field_ui|file|filter|help|image|jsonapi|language|layout_builder|link|locale|media|media_library|menu_link_content|menu_ui|migrate|migrate_drupal|mysql|mysqli|navigation|node|options|package_manager|path|path_alias|pgsql|responsive_image|rest|serialization|sqlite|system|taxonomy|text|toolbar|update|user|views|views_ui|workflows|workspaces|workspaces_ui)\\[^"]+" now to avoid errors or add an explicit @return annotation to suppress this message%
# Test modules that we skip for now, but can be fixed any time.
%Method "Drupal\\[^"]+::[^"]+\(\)" might add "[^"]+" as a native return type declaration in the future. Do the same in (?:implementation|child class) "Drupal\\(Tests\\(Core|block|block_content|comment|editor|field|filter|image|language|layout_builder|media|menu_link_content|node|path_alias|responsive_image|shortcut|system|taxonomy|user|views|workflows|workspaces)|FunctionalTests\\Rest|test_.*|.*_test|.*_test_.*|ckeditor5_plugin_elements_subset|dummydb|)\\[^"]+" now to avoid errors or add an explicit @return annotation to suppress this message%

# Internal code that we cannot avoid extending.
%The "Twig\\Environment::getTemplateClass\(\)" method is considered internal\. It may change without further notice\. You should not extend it from "Drupal\\Core\\Template\\TwigEnvironment"\.%

# Skip some dependencies' DebugClassLoader forward compatibility warnings, in
# order to let contrib modules make their necessary fixes first.
#
# (none at the moment)

# Indirect deprecations. These are not in Drupal's remit to fix, but it is
# worth keeping track of dependencies' issues.
%Method "Iterator::[^"]+" might add "void" as a native return type declaration in the future. Do the same in implementation "org\\bovigo\\vfs\\vfsStreamContainerIterator" now to avoid errors or add an explicit @return annotation to suppress this message%

# Drupal 13.
%The "cache.backend.memory" service is deprecated in drupal:11.3.0 and is removed from drupal:13.0.0. Use cache.backend.memory.memory instead. See https://www.drupal.org/node/3546856%
%The "cache.static" service is deprecated in drupal:11.3.0 and is removed from drupal:13.0.0. Use the cache.memory bin instead. See https://www.drupal.org/node/3546856%
%Not returning a Schema object from .*_schema\(\) to (Drupal\\Core\\Extension\\ModuleInstaller::installSchema|Drupal\\Core\\Extension\\ModuleInstaller::uninstallSchema|Drupal\\TestTools\\Extension\\SchemaInspector::getTablesSpecification) is deprecated in drupal:12\.1\.0 and is removed in drupal:13\.0\.0\. See https://www.drupal.org/node/3557405%

# Symfony 8.
%Since symfony/dependency-injection 8\.1: Calling "Drupal\\workspaces\\Provider\\DefaultWorkspaceProvider::getId\(\)" to get the "" index is deprecated, use the #\[AsTaggedItem\] attribute instead\.%
%Since symfony/dependency-injection 8\.1: Relying solely on the name of parameter "\$testInjection3" of "__construct\(\)" to match a named autowiring alias is deprecated; use the "#\[Target\]" attribute\.%
%Since symfony/dependency-injection 8\.1: The \$defaultIndexMethod and \$defaultPriorityMethod arguments of tagged locators and iterators are deprecated, use the #\[AsTaggedItem\] attribute instead\.%
%Since symfony/http-foundation 8\.1: Directly setting property "\w+" of "Symfony\\Component\\HttpFoundation\\Request" is deprecated; pass .* as a constructor argument or call "initialize\(\)" instead\.%
%Since symfony/http-foundation 8\.1: Directly setting property "headers" of "Symfony\\Component\\HttpFoundation\\Response" is deprecated; pass the header bag as a constructor argument instead\.%
%Since symfony/http-foundation 8\.1: Directly setting property "headers" of "Drupal\\Core\\Cache\\CacheableResponse" is deprecated; pass the header bag as a constructor argument instead\.%
%Since symfony/http-foundation 8\.1: Directly setting property "headers" of "Drupal\\big_pipe\\Render\\BigPipeResponse" is deprecated; pass the header bag as a constructor argument instead\.%
%Since symfony/validator 8\.1: The "ConstraintValidator::initialize\(\)" method is deprecated. Use the "validateInContext\(\)" method instead of the "initialize\(\)" and "validate\(\)" ones\.%
