<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ferrocene on SoloSoft</title><link>https://www.solosoft.dev/es/tags/ferrocene/</link><description>Recent content in Ferrocene on SoloSoft</description><generator>Hugo</generator><language>es-es</language><lastBuildDate>Wed, 14 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.solosoft.dev/es/tags/ferrocene/index.xml" rel="self" type="application/rss+xml"/><item><title>Rust aceptó este código aparentemente seguro durante 4.001 días: reproduzco el use-after-free del borrow checker en la estable 1.99.0, donde el arreglo son 8 líneas y la factura en tests es de 38 archivos</title><link>https://www.solosoft.dev/es/post/rust-borrowck-covariant-field-assignment-unsoundness/</link><pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/es/post/rust-borrowck-covariant-field-assignment-unsoundness/</guid><description>&lt;p&gt;El 2026-10-13 a las 08:45:54Z se abrió un issue contra &lt;code&gt;rust-lang/rust&lt;/code&gt; titulado &lt;em&gt;&amp;ldquo;struct&amp;rsquo;s lifetime requirements can be bypassed via covariant field assignment&amp;rdquo;&lt;/em&gt;. En quince minutos el equipo de tipos lo etiquetó como &lt;strong&gt;P-critical&lt;/strong&gt;; a las 09:25 ya era &lt;strong&gt;P-high&lt;/strong&gt; con la etiqueta &lt;code&gt;I-unsound&lt;/code&gt;. Ese mismo día, un envío a Hacker News llegó a &lt;strong&gt;667 puntos y 373 comentarios&lt;/strong&gt;. El número de issue es &lt;strong&gt;#164250&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Lo que hace que un fallo de compilador así atraiga tanta atención no es el fallo. Es el código que lo dispara. El reproductor &lt;strong&gt;no contiene &lt;code&gt;unsafe&lt;/code&gt;&lt;/strong&gt;, ni transmute, ni punteros crudos, ni FFI. Es la clase de pareja struct-más-&lt;code&gt;Drop&lt;/code&gt; que aparece en Rust corriente y, a día de hoy, &lt;strong&gt;toda versión publicada de rustc y todo nightly lo acepta&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>