Swift calls itself a systems language. Rust/C++ call themselves systems languages. The two sets use those words to mean different things.
A: Garbage collected vs. not garbage collected. B: Generics vs. no generics. C: Algebraic datatypes vs. no algebraic data types.
Even with these three dimensions, it's easy to separate major languages
Rust: A-B+C+, Swift: A+B+C+, Go A+B-C-, Java: A+B+C-, C++: A-B+C- (discounting union types)
tl;dr: Swift is not in the same space as Rust.
Swift calls itself a systems language. Rust/C++ call themselves systems languages. The two sets use those words to mean different things.