Skip to content

Commit ad0701c

Browse files
authored
Sync nodiscard.xml: behavior on interface, abstract, and overriding methods (#806)
1 parent b9a96f2 commit ad0701c

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

language/predefined/attributes/nodiscard.xml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- EN-Revision: 30bda33771e1c8fa8fc8a5ee7559fd7fa189caa0 Maintainer: PhilDaiguille Status: ready -->
2+
<!-- EN-Revision: e7f89579e2abcecad5a62dd96f11a4926df62e13 Maintainer: PhilDaiguille Status: ready -->
33
<!-- Reviewed: no -->
44
<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">
55
<title>El atributo NoDiscard</title>
@@ -33,6 +33,20 @@
3333
considere usar una variable como <code>$_</code>.
3434
</simpara>
3535
</note>
36+
<note>
37+
<simpara>
38+
<code>#[\NoDiscard]</code> se aplica a la declaración de función o método
39+
específica sobre la que está escrito, y la advertencia se emite en función
40+
de la declaración que realmente se llama. Como resultado, añadir
41+
<code>#[\NoDiscard]</code> a un método de interfaz o a un método abstracto
42+
no emite ninguna advertencia, porque el método que se invoca es el método
43+
de implementación o de sobrescritura. Del mismo modo, un método que
44+
sobrescribe un método <code>#[\NoDiscard]</code> no emite la advertencia a
45+
menos que esté marcado él mismo con el atributo. Por el contrario, un
46+
método importado desde un trait conserva el atributo, porque el método del
47+
trait se copia en la clase que lo usa como si estuviera declarado allí.
48+
</simpara>
49+
</note>
3650
</section>
3751

3852
<section xml:id="nodiscard.synopsis">

0 commit comments

Comments
 (0)