August 10, 20252 min

Rust Operators & Iterators: Quick Reference

m
mayo

Quick reference for common Rust gotchas and patterns.

Comparison Operators

Rust keeps it simple:

x == y    // Equal
x != y    // Not equal
x < y     // Less than
x > y     // Greater than

No <>, ===, or !== like other languages. Just == and !=.

Iterator vs Collection

Know what's iterable:

3..10                    // ✅ Iterator
["a", "b"]              // ❌ Array (use .iter())
vec!["x", "y"]          // ❌ Vec (use .iter() or .into_iter())

iter() vs into_iter()

let arr = ["a", "b", "c"];

arr.iter()        // &&str (reference to reference)
arr.into_iter()   // &str (cleaner, preferred)

Use into_iter() for arrays - one less reference level.

Unicode from Char

let c = '🦀';
let code = c as u32;           // 129408
println!("U+{:04X}", code);   // U+1F980

What Has .sort()?

Only mutable slices:

let mut vec = vec![3, 1, 4];
vec.sort();  // ✅

let mut arr = [3, 1, 4];
arr.sort();  // ✅

// Iterators need .collect() first
let sorted: Vec<_> = iter.collect().sort();  // ❌
let mut sorted: Vec<_> = iter.collect();     // ✅
sorted.sort();

into() vs into_iter()

Different purposes:

"hello".into()           // Type conversion (&str -> String)
vec![1,2,3].into_iter()  // Creates iterator

Remember: into() converts types, into_iter() makes iterators.