Introduction

Welcome to our exploration of Variable Shadowing and Scope in Rust! Today, we'll be learning these fundamental principles through clear explanations and practical examples, which will make our journey through Rust functions both interesting and efficient. So, fasten your seatbelts!

Variable Shadowing

In Rust, variable shadowing is a unique feature that allows you to declare a new variable with the same name as a previous variable. The new variable "shadows" the previous one, replacing the value of variable being "shadowed". This helps when you need to change the type of a variable or want to modify a variable but still use it immutably.

Let's consider the following code:

In this example, x is initially declared as holding the value 5. Subsequently, we declare x again, inferring that x now holds the result of x + 1. Importantly, the shadowed x retains its immutability.

In another example, true_value is declared as a boolean holding true. Then, we shadow true_value and change its datatype to become a string, holding .

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal