Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion language/predefined/attributes/nodiscard.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 30bda33771e1c8fa8fc8a5ee7559fd7fa189caa0 Maintainer: malferov Status: ready -->
<!-- EN-Revision: e7f89579e2abcecad5a62dd96f11a4926df62e13 Maintainer: malferov Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.nodiscard" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Атрибут NoDiscard</title>
Expand Down Expand Up @@ -34,6 +34,20 @@
и подавит предупреждение при переносе кода на PHP 8.5.
</simpara>
</note>
<note>
<simpara>
Атрибут <code>#[\NoDiscard]</code> применяется к конкретному объявлению
функции или метода, на котором его написали, а предупреждение выдаётся на
основе того объявления, которое вызвали на самом деле. Поэтому добавление
атрибута <code>#[\NoDiscard]</code> к методу интерфейса или абстрактному
методу не приводит к предупреждению, поскольку вызывается метод реализации
или переопределяющий метод. Аналогично метод, который переопределяет метод
с атрибутом <code>#[\NoDiscard]</code>, не выдаёт предупреждение, если
только его самого не пометили этим атрибутом. Напротив, метод,
импортированный из трейта, сохраняет атрибут, поскольку метод трейта
копируется в использующий класс, как будто его объявили там.
</simpara>
</note>
</section>

<section xml:id="nodiscard.synopsis">
Expand Down
Loading