<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Silva</title>
    <description>The latest articles on DEV Community by Silva (@silvapheeha).</description>
    <link>https://dev.to/silvapheeha</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F142407%2F5587a6df-541a-4862-85bb-7b3ec2aafe61.jpeg</url>
      <title>DEV Community: Silva</title>
      <link>https://dev.to/silvapheeha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/silvapheeha"/>
    <language>en</language>
    <item>
      <title>Back to Basics With Rust: Part 2</title>
      <dc:creator>Silva</dc:creator>
      <pubDate>Tue, 02 Aug 2022 18:03:12 +0000</pubDate>
      <link>https://dev.to/silvapheeha/back-to-basics-with-rust-part-2-219o</link>
      <guid>https://dev.to/silvapheeha/back-to-basics-with-rust-part-2-219o</guid>
      <description>&lt;p&gt;Continuing from &lt;a href="https://dev.to/silvapheeha/back-to-basics-with-rust-part-1-3m44"&gt;part one&lt;/a&gt;. I think you now put more thought in declaration. When writing code, It's also good to understand the terminologies and classifications because, that does not change much when moving from one programming language to another. In this article I continue going into detail about declaring of variables (using comment lines starting from &lt;code&gt;1&lt;/code&gt; to &lt;code&gt;7&lt;/code&gt;) and also classifying them. By classifying I mean talking about primitive types. Primitive data types are divided into two, scalar and compound types.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Looking at comment line no. &lt;code&gt;1&lt;/code&gt; : The declared variables below are example of scalar types. 

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scalar type&lt;/strong&gt; represents a single value. e.g char, integers, floating points and boolean.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Comment Line no. &lt;code&gt;2&lt;/code&gt; to &lt;code&gt;7&lt;/code&gt; are examples of compound types.

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compound types&lt;/strong&gt; represents multiple values. e.g array and tuples.
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Scalar -----------------------------------------  1 &lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;s_char&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;char&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sc"&gt;'s'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;is_bool&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Compound ---------------------------------------- 2&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="k"&gt;mut&lt;/span&gt; &lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;i32&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// --------------- 3&lt;/span&gt;
    &lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ----------------------------------- 4&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;i32&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// ---------------- 5&lt;/span&gt;

    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tu&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ple&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;i32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;char&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sc"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//---------- 6&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;tuple&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;i32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;char&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sc"&gt;'a'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//-------------- 7&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Declaring compound types:
&lt;/h3&gt;

&lt;p&gt;Comment line no. &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;5&lt;/code&gt; are &lt;strong&gt;Arrays&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arrays are &lt;strong&gt;fixed size&lt;/strong&gt; collection of values with similar types.&lt;/li&gt;
&lt;li&gt;Once declared can not grow.&lt;/li&gt;
&lt;li&gt;Comment no. &lt;code&gt;3&lt;/code&gt; above:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;[i3; 3]&lt;/code&gt; indicate that the array will be of type &lt;code&gt;i32&lt;/code&gt;, with the size of 3 (size is always a positive value). &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;[0; 3]&lt;/code&gt; is similar to &lt;strong&gt;[x; N]&lt;/strong&gt; is called a &lt;strong&gt;repeat expression&lt;/strong&gt;, which will produces an array of &lt;code&gt;[0, 0, 0]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mut&lt;/strong&gt; mean the array is mutable. which allows the value inside an array to be changed or replaced.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;comment no. &lt;code&gt;4&lt;/code&gt; :

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;0&lt;/code&gt; inside &lt;code&gt;array[0]&lt;/code&gt; indicates the index, index starts from 0, end at &lt;code&gt;[length - 1]&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;e.g array &lt;strong&gt;[0, 0, 0]&lt;/strong&gt; index will start from 0 and end at 2&lt;/li&gt;
&lt;li&gt;specifying a bigger index like &lt;code&gt;array[4]&lt;/code&gt; can result to  &lt;code&gt;index out of bounds: the len is 3 but the index is 4&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Looking at comment no. &lt;code&gt;5&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt;, they are almost identical, both are declared as &lt;code&gt;[i32; 3]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;the only different is that comment no. &lt;code&gt;5&lt;/code&gt; has a collection of integers i.e., &lt;code&gt;[0, 1, 2]&lt;/code&gt;, not a repeat expression.&lt;/li&gt;
&lt;li&gt;also notice &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;5&lt;/code&gt; have the same name(both called &lt;code&gt;array&lt;/code&gt;). that concept is called &lt;code&gt;Shadowing&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Shadowing
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;is to declare a new variable with the same name as a previous variable as shown in &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;5&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;the compiler will ignore the first variable meaning if we try &lt;code&gt;array[0] = 1;&lt;/code&gt; below comment no. &lt;code&gt;5&lt;/code&gt;, get the below error :&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;E0594&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;cannot&lt;/span&gt; &lt;span class="n"&gt;assign&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;not&lt;/span&gt; &lt;span class="n"&gt;declared&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;mutable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;
`&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Why use shadowing ?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;for beautiful code, instead of using &lt;code&gt;array_one&lt;/code&gt; and &lt;code&gt;array_two&lt;/code&gt; (some might disagree).&lt;/li&gt;
&lt;li&gt;for casting, if you want to change types. &lt;/li&gt;
&lt;li&gt;When you have multiples scopes or closures, shadowing can be useful (will get into details in the future).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comment line no &lt;code&gt;6&lt;/code&gt; and &lt;code&gt;7&lt;/code&gt;: are &lt;strong&gt;Tuples&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A tuple is defined as a collection of values that consists of different or similar types (tuples are heterogeneous).&lt;/li&gt;
&lt;li&gt;tuples have a length, looking at  comment no. &lt;code&gt;6&lt;/code&gt; and &lt;code&gt;7&lt;/code&gt; the length of the tuple is 2&lt;/li&gt;
&lt;li&gt;tuples also have a sequence. 

&lt;ul&gt;
&lt;li&gt;comment no. &lt;code&gt;6&lt;/code&gt; &lt;strong&gt;tu&lt;/strong&gt; is the first sequence and &lt;strong&gt;ple&lt;/strong&gt; is the second sequence&lt;/li&gt;
&lt;li&gt;comment no. &lt;code&gt;7&lt;/code&gt; when calling the first sequence, we use &lt;code&gt;tuple.0&lt;/code&gt; &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Visiting the rust &lt;a href="https://doc.rust-lang.org/std/index.html#primitives"&gt;doc&lt;/a&gt; will help you get more information on primitives types such as &lt;code&gt;never&lt;/code&gt; which i didn't tackle. &lt;/p&gt;

</description>
      <category>rust</category>
      <category>learning</category>
      <category>back2basics</category>
    </item>
    <item>
      <title>Back to Basics With Rust: Part 1</title>
      <dc:creator>Silva</dc:creator>
      <pubDate>Wed, 06 Jul 2022 18:55:57 +0000</pubDate>
      <link>https://dev.to/silvapheeha/back-to-basics-with-rust-part-1-3m44</link>
      <guid>https://dev.to/silvapheeha/back-to-basics-with-rust-part-1-3m44</guid>
      <description>&lt;p&gt;The first few lines of code are usually declaration. &lt;code&gt;let num = 0&lt;/code&gt;. Most of the time you don't put too much thought on which integer type to choose or indicate, it's like you are on autopilot. When declaring a variable &lt;code&gt;let num = 0;&lt;/code&gt;, you expect the compiler to add the type, and also indicate that the variable is immutable. Lets switch off auto pilot and understand what &lt;code&gt;let num: i32 = 1;&lt;/code&gt; mean.&lt;/p&gt;

&lt;p&gt;By default as stated in the book, variables are immutable. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Immutable means can not be changed (&lt;code&gt;Read-Only&lt;/code&gt;). &lt;/li&gt;
&lt;li&gt;Mutable, can change (&lt;code&gt;Read&lt;/code&gt; and &lt;code&gt;Write&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Coming from other languages if a variable can't change, you might think of a constant (const). The difference between constant and immutable variable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;SEVEN&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;i32&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// constant&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;seven&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// immutable variable&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="k"&gt;mut&lt;/span&gt; &lt;span class="n"&gt;six&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// mutable variable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Constant
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;const needs to have an SNAKE_CASE uppercase name, else you get a warning

&lt;code&gt;constant `seven` should have an upper case name&lt;/code&gt;

.&lt;/li&gt;
&lt;li&gt;const needs you to specify the type(see error below).&lt;/li&gt;
&lt;li&gt;const will never be mutable, meaning you can't add the &lt;code&gt;mut&lt;/code&gt; keyword.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;missing&lt;/span&gt; &lt;span class="k"&gt;type&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="k"&gt;const&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;
 &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="py"&gt;.rs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;
  &lt;span class="p"&gt;|&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;SEVEN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;|&lt;/span&gt;       &lt;span class="o"&gt;^^^^^&lt;/span&gt; &lt;span class="n"&gt;help&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;provide&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="k"&gt;type&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;constant&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;SEVEN&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;i32&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Immutable
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;You are not forced to specify the type, if you omit the type the compiler will assist.&lt;/li&gt;
&lt;li&gt;immutable can be converted to mutable by adding the &lt;code&gt;mut&lt;/code&gt; keyword.&lt;/li&gt;
&lt;li&gt;Looking at the rust &lt;a href="https://rust-lang.github.io/api-guidelines/naming.html"&gt;naming conversion&lt;/a&gt;, the variable is always snake_case lowercase.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A constant needs you to always specify a type, be it integers or tuples even arrays.  Looking at integers, there are multiple types, such as &lt;code&gt;i8&lt;/code&gt;, &lt;code&gt;u32&lt;/code&gt;, etc. &lt;/p&gt;

&lt;p&gt;Before choosing an integer, you need to understand that Rust has signed &lt;code&gt;i&lt;/code&gt; and unsigned &lt;code&gt;u&lt;/code&gt; types.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Signed &lt;code&gt;i&lt;/code&gt; types accept both positive(+) and negative(-) values, depending on the bits you selected. &lt;/li&gt;
&lt;li&gt;Unsigned &lt;code&gt;u&lt;/code&gt; only accepts positive(+) values.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next to &lt;code&gt;i&lt;/code&gt; or &lt;code&gt;u&lt;/code&gt; are the bits, so &lt;code&gt;8-bits&lt;/code&gt;, &lt;code&gt;32-bits&lt;/code&gt;, and etc. The bits indicate the storage capacity e.g &lt;code&gt;u8&lt;/code&gt; stores values from 0 to 255, above that results to the error below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;literal&lt;/span&gt; &lt;span class="n"&gt;out&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;range&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="nb"&gt;u8&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
 &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="py"&gt;.rs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;
  &lt;span class="p"&gt;|&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;     &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;u8&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;256&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;|&lt;/span&gt;                 &lt;span class="o"&gt;^^^&lt;/span&gt;
  &lt;span class="p"&gt;|&lt;/span&gt;
  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="nd"&gt;#[deny(overflowing_literals)]&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt;
  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;literal&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="mi"&gt;256&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt; &lt;span class="n"&gt;does&lt;/span&gt; &lt;span class="n"&gt;not&lt;/span&gt; &lt;span class="n"&gt;fit&lt;/span&gt; &lt;span class="n"&gt;into&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="k"&gt;type&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="nb"&gt;u8&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt; &lt;span class="n"&gt;whose&lt;/span&gt; &lt;span class="n"&gt;range&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;..=&lt;/span&gt;&lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There's also &lt;code&gt;usize&lt;/code&gt; and &lt;code&gt;isize&lt;/code&gt;, which is dependent on the size of your machine architecture. So if running a &lt;code&gt;32-bit&lt;/code&gt; machine, &lt;code&gt;usize&lt;/code&gt; can be u32 (32-bits). There are other types such as floats(&lt;code&gt;f32&lt;/code&gt; and &lt;code&gt;f64&lt;/code&gt;), boolean(&lt;code&gt;bool&lt;/code&gt;), arrays(&lt;code&gt;[1, 2, 3]&lt;/code&gt;), and more. &lt;/p&gt;

</description>
      <category>rust</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
