<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Shadowing on ErrorVault — Developer Error Code Dictionary</title>
    <link>https://errorvault.dev/tags/shadowing/</link>
    <description>Recent content in Shadowing on ErrorVault — Developer Error Code Dictionary</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 22 Jul 2026 05:32:04 +0800</lastBuildDate>
    <atom:link href="https://errorvault.dev/tags/shadowing/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Fix E0007: Variable Already Bound in Scope</title>
      <link>https://errorvault.dev/rust/rust-e0007-variable-already-bound/</link>
      <pubDate>Wed, 22 Jul 2026 05:32:04 +0800</pubDate>
      <guid>https://errorvault.dev/rust/rust-e0007-variable-already-bound/</guid>
      <description>&lt;h1 id=&#34;fix-e0007-variable-already-bound-in-scope&#34;&gt;Fix E0007: Variable Already Bound in Scope&lt;/h1&gt;&#xA;&lt;p&gt;Rust&amp;rsquo;s ownership system and lexical scoping rules are designed to prevent ambiguity and hard-to-detect bugs. Error code &lt;code&gt;E0007&lt;/code&gt; emerges when the compiler encounters an attempt to rebind a variable name that has already been bound in the same scope. This error enforces the principle that variable names within a single lexical scope must be unique, ensuring code clarity and preventing accidental value overwrites that could introduce subtle bugs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix E0582: Rust Compiler Error - Binding Cannot Shadow Type Parameter</title>
      <link>https://errorvault.dev/rust/rust-e0582-binding-cannot-shadow-type-parameter/</link>
      <pubDate>Mon, 20 Jul 2026 19:56:04 +0800</pubDate>
      <guid>https://errorvault.dev/rust/rust-e0582-binding-cannot-shadow-type-parameter/</guid>
      <description>&lt;h2 id=&#34;1-symptoms&#34;&gt;1. Symptoms&lt;/h2&gt;&#xA;&lt;p&gt;When the Rust compiler encounters error E0582, you will see output similar to the following:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;error[E0582]: binding cannot shadow type parameter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;--&amp;gt;&lt;/span&gt; src&lt;span style=&#34;color:#ff79c6&#34;&gt;/&lt;/span&gt;main&lt;span style=&#34;color:#ff79c6&#34;&gt;.&lt;/span&gt;rs:&lt;span style=&#34;color:#bd93f9&#34;&gt;5&lt;/span&gt;:&lt;span style=&#34;color:#bd93f9&#34;&gt;9&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;|&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bd93f9&#34;&gt;5&lt;/span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;|&lt;/span&gt;     let x: i32 &lt;span style=&#34;color:#ff79c6&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#bd93f9&#34;&gt;10&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;|&lt;/span&gt;         &lt;span style=&#34;color:#ff79c6&#34;&gt;^&lt;/span&gt; `x` is a type parameter, but it was shadowed by a local binding&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;|&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;help: consider renaming this local variable to avoid shadowing&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;|&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bd93f9&#34;&gt;5&lt;/span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;|&lt;/span&gt;     let y: i32 &lt;span style=&#34;color:#ff79c6&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#bd93f9&#34;&gt;10&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;|&lt;/span&gt;         &lt;span style=&#34;color:#ff79c6&#34;&gt;^&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This error appears during the compilation phase, specifically during name resolution and type checking. The compiler detects that a local variable or pattern binding shares the same name as a generic type parameter defined in the same scope. The error message pinpoints the exact line and column where the problematic shadowing occurs, and the compiler helpfully suggests an alternative name for the local binding to resolve the conflict.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
