Rust (programming language)
Rust is a general-purpose programming language emphasizing performance, type safety, and concurrency. It enforces memory safety, meaning that all references point to valid memory. It does so without a conventional garbage collector; instead, memory safety errors and data races are prevented by the "borrow checker", which tracks the object lifetime of references at compile time. Rust supports multiple programming paradigms. It was influenced by ideas from functional programming, including immutability, higher-order functions, algebraic data types, and pattern matching. It also supports object-oriented programming via structs, enums, traits, and methods. Software developer Graydon Hoare created Rust as a personal project while working at Mozilla Research in 2006. Mozilla officially sponsored the project in 2009. The first stable release of Rust, Rust 1.0, was published in May 2015. Following a large layoff of Mozilla employees in August 2020, multiple other companies joined Mozilla in sponsoring Rust through the creation of the Rust Foundation in February 2021. In December 2022, Rust became the first language other than C and assembly to be supported in the development of the Linux kernel. Rust has been noted for its adoption in many software projects, especially web services and system software. It has been studied academically and has a growing community of developers. History2006–2009: Early yearsRust began as a personal project by Mozilla employee Graydon Hoare in 2006.[13] Hoare started the project due to his frustration with a broken elevator in his apartment building.[13] Hoare has stated that Rust was named for the group of fungi that are "over-engineered for survival".[13] During the time period between 2006 and 2009, Rust was not publicized to others at Mozilla and was written in Hoare's free time;[14]: 7:50 Hoare began speaking about the language around 2009 after a small group at Mozilla became interested in the project.[15] Hoare emphasized prioritizing good ideas from old languages over new development, citing languages including CLU (1974), BETA (1975), Mesa (1977), NIL (1981), Erlang (1987), Newsqueak (1988), Napier (1988), Hermes (1990), Sather (1990), Alef (1992), and Limbo (1996) as influences, stating "many older languages [are] better than new ones", and describing the language as "technology from the past come to save the future from itself."[14]: 8:17 [15] Early Rust developer Manish Goregaokar similarly described Rust as being based on "mostly decades-old research."[13] During the early years, the Rust compiler was written in about 38,000 lines of OCaml.[14]: 15:34 [16] Early Rust contained features such as explicit object-oriented programming via an 2009-2012: Mozilla sponsorshipMozilla officially sponsored the Rust project in 2009.[13] Brendan Eich and other executives, intrigued by the possibility of using Rust for a safe web browser engine, placed engineers on the project including Patrick Walton, Niko Matsakis, Felix Klock, and Manish Goregaokar.[13] A conference room taken by the project developers was dubbed "the nerd cave," with a sign placed outside the door.[13] During this time period, work had shifted from the initial OCaml compiler to a self-hosting compiler, i.e., written in Rust, based on LLVM.[17][note 4] The Rust ownership system was also in place by 2010.[13] The Rust logo was developed in 2011 based on a bicycle chainring.[19] The first public release, Rust 0.1 was released on January 20, 2012[20] for Windows, Linux, and MacOS.[21] The early 2010s saw increasing involvement from open source volunteers outside of Mozilla and outside of the United States. At Mozilla, executives would eventually employ over a dozen engineers to work on Rust full time over the next decade.[13] 2012–2015: EvolutionThe years from 2012 to 2015 were marked by substantial changes to the Rust type system, especially, removal of the typestate system, consolidation of other language features, and the removal of the garbage collector.[14]: 18:36 [13] Memory management through the ownership system was gradually consolidated and expanded to prevent memory-related bugs. By 2013, the garbage collector feature was rarely used, and was removed by the team in favor of the ownership system.[13] Other changes during this time included the removal of pure functions, which were declared by an explicit Rust's expansion and consolidation was influenced by developers coming from C++ (e.g., low-level performance of features), scripting languages (e.g., Cargo and package management), and functional programming (e.g., type systems development).[14]: 30:50 Graydon Hoare stepped down from Rust in 2013.[13] This allowed it to evolve organically under a more federated governance structure, with a "core team" of initially six people,[14]: 21:45 around 30-40 developers total across various other teams,[14]: 22:22 and a Request for Comments (RFC) process for new language features added in March 2014.[14]: 33:47 The core team would grow to nine people by 2016[14]: 21:45 with over 1600 proposed RFCs.[14]: 34:08 According to Andrew Binstock writing for Dr. Dobb's Journal in January 2014, while Rust was "widely viewed as a remarkably elegant language", adoption slowed because it radically changed from version to version.[23] Rust development at this time was focused on finalizing the language features and moving towards 1.0 so it could begin promising backward compatibility.[14]: 41:26 Six years after Mozilla sponsored its development, the first stable release, Rust 1.0, was published on May 15, 2015.[13] A year after the release, the Rust compiler had accumulated over 1,400 contributors and there were over 5,000 third-party libraries published on the Rust package management website Crates.io.[14]: 43:15 2015–2020: Servo and early adoption![]() The development of the Servo browser engine continued in parallel with Rust, jointly funded by Mozilla and Samsung.[24] The teams behind the two projects worked in close collaboration; new features in Rust were tested out by the Servo team, and new features in Servo were used to give feedback back to the Rust team.[14]: 5:41 The first version of Servo was released in 2016.[13] The Firefox web browser shipped with Rust code as of 2016 (version 45),[14]: 53:30 [25] but components of Servo did not appear in Firefox until September 2017 (version 57) as part of the Gecko and Quantum projects.[26] Improvements were made to the Rust toolchain ecosystem during the years following 1.0 including Rustfmt, integrated development environment integration,[14]: 44:56 a regular compiler testing and release cycle,[14]: 46:48 a community code of conduct, and community discussion organized through an IRC chat.[14]: 50:36 The earliest adoption outside of Mozilla was by individual projects at Samsung, Facebook (now Meta Platforms), Dropbox, and others including Tilde, Inc. (the company behind ember.js).[14]: 55:44 [13] Amazon Web Services followed in 2020.[13] Engineers cited performance, lack of a garbage collector, safety, and pleasantness of working in the language as reasons for the adoption, while acknowledging that it was a risky bet as Rust was new technology. Amazon developers cited the fact that Rust uses half as much electricity as similar code written in Java, behind only C,[13] as found by a study at the University of Minho, NOVA University Lisbon, and the University of Coimbra.[27][note 5] Since 2020: Mozilla layoffs and Rust FoundationIn August 2020, Mozilla laid off 250 of its 1,000 employees worldwide, as part of a corporate restructuring caused by the COVID-19 pandemic.[28][29] The team behind Servo was disbanded. The event raised concerns about the future of Rust, due to the overlap between the two projects.[30] In the following week, the Rust Core Team acknowledged the severe impact of the layoffs and announced that plans for a Rust foundation were underway. The first goal of the foundation would be to take ownership of all trademarks and domain names, and take financial responsibility for their costs.[31] On February 8, 2021, the formation of the Rust Foundation was announced by five founding companies: Amazon Web Services, Google, Huawei, Microsoft, and Mozilla.[32][33] The foundation, led by Shane Miller for its first two years, offered $20,000 grants and other support for programmers working on major Rust features.[13] In a blog post published on April 6, 2021, Google announced support for Rust within the Android Open Source Project as an alternative to C/C++.[34] On November 22, 2021, the Moderation Team, which was responsible for enforcing the community code of conduct, announced their resignation "in protest of the Core Team placing themselves unaccountable to anyone but themselves".[35] In May 2022, the Rust Core Team, other lead programmers, and certain members of the Rust Foundation board implemented governance reforms in response to the incident.[36] The Rust Foundation posted a draft for a new trademark policy on April 6, 2023, including rules for how the Rust logo and name can be used, which resulted in negative reactions from Rust users and contributors.[37] On February 26, 2024, the U.S. White House released a 19-page press report urging software development to move to memory-safe programming languages; specifically, moving away from C and C++ and encouraging languages like C#, Go, Java, Ruby, Swift, and Rust.[38][39] The report was interpreted as increasing interest in Rust.[40][41] The report was released through the Office of the National Cyber Director.[38][42] Syntax and featuresRust's syntax is similar to that of C and C++,[43][44] although many of its features were influenced by functional programming languages such as OCaml.[45] Hoare has described Rust as targeted at frustrated C++ developers and emphasized features such as safety, control of memory layout, and concurrency.[15] Safety in Rust includes the guarantees of memory safety, type safety, and lack of data races. Hello World programBelow is a "Hello, World!" program in Rust. The fn main() {
println!("Hello, World!");
}
VariablesVariables in Rust are defined through the fn main() {
let foo = 10;
println!("The value of foo is {foo}");
}
Variables are immutable by default, but adding the fn main() {
// This code would not compile without adding "mut".
let mut foo = 10;
println!("The value of foo is {foo}");
foo = 20;
println!("The value of foo is {foo}");
}
Multiple fn main() {
let foo = 10;
// This will output "The value of foo is 10"
println!("The value of foo is {foo}");
let foo = foo * 2;
// This will output "The value of foo is 20"
println!("The value of foo is {foo}");
}
Variable shadowing is also possible for values of different types. For example, going from a string to its length: fn main() {
let letters = "abc";
let letters = letters.len();
}
Block expressions and control flowA block expression is delimited by curly brackets. When the last expression inside a block does not end with a semicolon, the block evaluates to the value of that trailing expression:[51] fn main() {
let x = {
println!("this is inside the block");
1 + 2
};
println!("1 + 2 = {x}");
}
Trailing expressions of function bodies are used as the return value:[52] fn add_two(x: i32) -> i32 {
x + 2
}
|
![]() | |
Formation | February 8, 2021 |
---|---|
Founders | |
Type | Nonprofit organization |
Location | |
Shane Miller | |
Rebecca Rumbul | |
Website | foundation |
The Rust Foundation is a non-profit membership organization incorporated in United States, with the primary purposes of backing the technical project as a legal entity and helping to manage the trademark and infrastructure assets.[187][44]
It was established on February 8, 2021, with five founding corporate members (Amazon Web Services, Huawei, Google, Microsoft, and Mozilla).[188] The foundation's board is chaired by Shane Miller.[189] Starting in late 2021, its Executive Director and CEO is Rebecca Rumbul.[190] Prior to this, Ashley Williams was interim executive director.[44]
Governance teams
The Rust project is composed of teams that are responsible for different subareas of the development. The compiler team develops, manages, and optimizes compiler internals; and the language team designs new language features and helps implement them. The Rust project website lists 6 top-level teams as of July 2024[update].[191] Representatives among teams form the Leadership council, which oversees the Rust project as a whole.[192]
See also
- Comparison of programming languages
- History of programming languages
- List of programming languages
- List of programming languages by type
Notes
- ^ Including build tools, host tools, and standard library support for x86-64, ARM, MIPS, RISC-V, WebAssembly, i686, AArch64, PowerPC, and s390x.[2]
- ^ Including Windows, Linux, macOS, FreeBSD, NetBSD, and Illumos. Host build tools on Android, iOS, Haiku, Redox, and Fuchsia are not officially shipped; these operating systems are supported as targets.[2]
- ^ Third-party dependencies, e.g., LLVM or MSVC, are subject to their own licenses.[3][4]
- ^ The list of Rust compiler versions (referred to as a bootstrapping chain) has history going back to 2012.[18]
- ^ Energy compared to C was 3% more for Rust and 34% more for C++; time was 4% more and 56% more, respectively.
- ^ wrapping
no_mangle
withunsafe
as well as prefacing theextern "C"
block withunsafe
are required in the 2024 edition or later.[118] - ^ That is, among respondents who have done "extensive development work [with Rust] in over the past year" (12.6%), Rust had the largest percentage who also expressed interest to "work in [Rust] over the next year" (82.2%).[177]
References
Book sources
- Gjengset, Jon (2021). Rust for Rustaceans (1st ed.). No Starch Press. ISBN 9781718501850. OCLC 1277511986.
- Klabnik, Steve; Nichols, Carol (2019-08-12). The Rust Programming Language (Covers Rust 2018). No Starch Press. ISBN 978-1-7185-0044-0.
- Blandy, Jim; Orendorff, Jason; Tindall, Leonora F. S. (2021). Programming Rust: Fast, Safe Systems Development (2nd ed.). O'Reilly Media. ISBN 978-1-4920-5254-8. OCLC 1289839504.
- McNamara, Tim (2021). Rust in Action. Manning Publications. ISBN 978-1-6172-9455-6. OCLC 1153044639.
- Klabnik, Steve; Nichols, Carol (2023). The Rust programming language (2nd ed.). No Starch Press. ISBN 978-1-7185-0310-6. OCLC 1363816350.
Others
- ^ "Announcing Rust 1.88.0". 2025-06-26. Retrieved 2025-06-26.
- ^ a b "Platform Support". The rustc book. Archived from the original on 2022-06-30. Retrieved 2022-06-27.
- ^ "Copyright". GitHub. The Rust Programming Language. 2022-10-19. Archived from the original on 2023-07-22. Retrieved 2022-10-19.
- ^ "Licenses". The Rust Programming Language. Archived from the original on 2025-02-23. Retrieved 2025-03-07.
- ^ "Uniqueness Types". Rust Blog. Archived from the original on 2016-09-15. Retrieved 2016-10-08.
Those of you familiar with the Elm style may recognize that the updated --explain messages draw heavy inspiration from the Elm approach.
- ^ a b "Influences". The Rust Reference. Archived from the original on 2023-11-26. Retrieved 2023-12-31.
- ^ "Uniqueness Types". Idris 1.3.3 documentation. Archived from the original on 2018-11-21. Retrieved 2022-07-14.
They are inspired by ... ownership types and borrowed pointers in the Rust programming language.
- ^ Tung, Liam. "Microsoft opens up Rust-inspired Project Verona programming language on GitHub". ZDNET. Archived from the original on 2020-01-17. Retrieved 2020-01-17.
- ^ Jaloyan, Georges-Axel (2017-10-19). "Safe Pointers in SPARK 2014". arXiv:1710.07047 [cs.PL].
- ^ Lattner, Chris. "Chris Lattner's Homepage". Nondot. Archived from the original on 2018-12-25. Retrieved 2019-05-14.
- ^ "V documentation (Introduction)". GitHub. The V Programming Language. Retrieved 2023-11-04.
- ^ Yegulalp, Serdar (2016-08-29). "New challenger joins Rust to topple C language". InfoWorld. Archived from the original on 2021-11-25. Retrieved 2022-10-19.
- ^ a b c d e f g h i j k l m n o p q r s t Thompson, Clive (2023-02-14). "How Rust went from a side project to the world's most-loved programming language". MIT Technology Review. Archived from the original on 2024-09-19. Retrieved 2023-02-23.
- ^ a b c d e f g h i j k l m n o p q r s t u Klabnik, Steve (2016-06-02). "The History of Rust". Applicative 2016. New York, NY, USA: Association for Computing Machinery. p. 80. doi:10.1145/2959689.2960081. ISBN 978-1-4503-4464-7.
- ^ a b c Hoare, Graydon (July 2010). Project Servo: Technology from the past come to save the future from itself (PDF). Mozilla Annual Summit. Archived from the original (PDF) on 2021-12-26. Retrieved 2024-10-29.
- ^ Hoare, Graydon (November 2016). "Rust Prehistory (Archive of the original Rust OCaml compiler source code)". GitHub. Retrieved 2024-10-29.
- ^ "0.1 first supported public release Milestone · rust-lang/rust". GitHub. Retrieved 2024-10-29.
- ^ Nelson, Jynn (2022-08-05). RustConf 2022 - Bootstrapping: The once and future compiler. Portland, Oregon: Rust Team. Retrieved 2024-10-29 – via YouTube.
- ^ "Rust logo". Bugzilla. Archived from the original on 2024-02-02. Retrieved 2024-02-02.
- ^ Anderson, Brian (2012-01-24). "[rust-dev] The Rust compiler 0.1 is unleashed". rust-dev (Mailing list). Archived from the original on 2012-01-24. Retrieved 2025-01-07.
- ^ Anthony, Sebastian (2012-01-24). "Mozilla releases Rust 0.1, the language that will eventually usurp Firefox's C++". ExtremeTech. Retrieved 2025-01-07.
- ^ "Purity by pcwalton · Pull Request #5412 · rust-lang/rust". GitHub. Retrieved 2024-10-29.
- ^ Binstock, Andrew (2014-01-07). "The Rise And Fall of Languages in 2013". Dr. Dobb's Journal. Archived from the original on 2016-08-07. Retrieved 2022-11-20.
- ^ Lardinois, Frederic (2015-04-03). "Mozilla And Samsung Team Up To Develop Servo, Mozilla's Next-Gen Browser Engine For Multicore Processors". TechCrunch. Archived from the original on 2016-09-10. Retrieved 2017-06-25.
- ^ "Firefox 45.0, See All New Features, Updates and Fixes". Mozilla. Archived from the original on 2016-03-17. Retrieved 2024-10-31.
- ^ Lardinois, Frederic (2017-09-29). "It's time to give Firefox another chance". TechCrunch. Archived from the original on 2023-08-15. Retrieved 2023-08-15.
- ^ Pereira, Rui; Couto, Marco; Ribeiro, Francisco; Rua, Rui; Cunha, Jácome; Fernandes, João Paulo; Saraiva, João (2017-10-23). "Energy efficiency across programming languages: How do energy, time, and memory relate?". Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering. SLE 2017. New York, NY, USA: Association for Computing Machinery. pp. 256–267. doi:10.1145/3136014.3136031. hdl:1822/65359. ISBN 978-1-4503-5525-4.
- ^ Cimpanu, Catalin (2020-08-11). "Mozilla lays off 250 employees while it refocuses on commercial products". ZDNET. Archived from the original on 2022-03-18. Retrieved 2020-12-02.
- ^ Cooper, Daniel (2020-08-11). "Mozilla lays off 250 employees due to the pandemic". Engadget. Archived from the original on 2020-12-13. Retrieved 2020-12-02.
- ^ Tung, Liam (2020-08-21). "Programming language Rust: Mozilla job cuts have hit us badly but here's how we'll survive". ZDNET. Archived from the original on 2022-04-21. Retrieved 2022-04-21.
- ^ "Laying the foundation for Rust's future". Rust Blog. 2020-08-18. Archived from the original on 2020-12-02. Retrieved 2020-12-02.
- ^ "Hello World!". Rust Foundation. 2020-02-08. Archived from the original on 2022-04-19. Retrieved 2022-06-04.
- ^ "Mozilla Welcomes the Rust Foundation". Mozilla Blog. 2021-02-09. Archived from the original on 2021-02-08. Retrieved 2021-02-09.
- ^ Amadeo, Ron (2021-04-07). "Google is now writing low-level Android code in Rust". Ars Technica. Archived from the original on 2021-04-08. Retrieved 2021-04-08.
- ^ Anderson, Tim (2021-11-23). "Entire Rust moderation team resigns". The Register. Archived from the original on 2022-07-14. Retrieved 2022-08-04.
- ^ Levick, Ryan; Bos, Mara. "Governance Update". Inside Rust Blog. Archived from the original on 2022-10-27. Retrieved 2022-10-27.
- ^ Claburn, Thomas (2023-04-17). "Rust Foundation apologizes for trademark policy confusion". The Register. Archived from the original on 2023-05-07. Retrieved 2023-05-07.
- ^ a b Gross, Grant (2024-02-27). "White House urges developers to dump C and C++". InfoWorld. Retrieved 2025-01-26.
- ^ Warminsky, Joe (2024-02-27). "After decades of memory-related software bugs, White House calls on industry to act". The Record. Retrieved 2025-01-26.
- ^ Jack, Bobby (2024-02-29). "The White House Wants Memory-Safe Programming, but What Is That?". MakeUseOf. Retrieved 2025-01-26.
- ^ Donovan, Ryan (2024-12-30). "In Rust we trust? White House Office urges memory safety". The Stack Overflow Blog. Retrieved 2025-01-26.
- ^ "Press Release: Future Software Should Be Memory Safe". The White House. 2024-02-26. Archived from the original on 2025-01-18. Retrieved 2025-01-26.
- ^ Proven, Liam (2019-11-27). "Rebecca Rumbul named new CEO of The Rust Foundation". The Register. Archived from the original on 2022-07-14. Retrieved 2022-07-14.
Both are curly bracket languages, with C-like syntax that makes them unintimidating for C programmers.
- ^ a b c Vigliarolo, Brandon (2021-02-10). "The Rust programming language now has its own independent foundation". TechRepublic. Archived from the original on 2023-03-20. Retrieved 2022-07-14.
- ^ Klabnik & Nichols 2019, p. 263.
- ^ Klabnik & Nichols 2019, pp. 5–6.
- ^ Klabnik & Nichols 2023, p. 32.
- ^ Klabnik & Nichols 2023, pp. 32–33.
- ^ Klabnik & Nichols 2023, pp. 49–50.
- ^ Klabnik & Nichols 2023, pp. 34–36.
- ^ Klabnik & Nichols 2023, pp. 6, 47, 53.
- ^ Klabnik & Nichols 2023, pp. 47–48.
- ^ a b Klabnik & Nichols 2023, pp. 50–53.
- ^ Klabnik & Nichols 2023, p. 56.
- ^ Klabnik & Nichols 2023, pp. 57–58.
- ^ Klabnik & Nichols 2023, pp. 54–56.
- ^ Klabnik & Nichols 2019, pp. 104–109.
- ^ Klabnik & Nichols 2019, pp. 24.
- ^ Klabnik & Nichols 2019, pp. 36–38.
- ^ Klabnik & Nichols 2023, pp. 36–38.
- ^ Klabnik & Nichols 2023, p. 502.
- ^ "Glossary of Unicode Terms". Unicode Consortium. Archived from the original on 2018-09-24. Retrieved 2024-07-30.
- ^ Klabnik & Nichols 2019, pp. 38–40.
- ^ Klabnik & Nichols 2023, pp. 40–42.
- ^ Klabnik & Nichols 2023, p. 42.
- ^ Klabnik & Nichols 2019, pp. 59–61.
- ^ a b Klabnik & Nichols 2019, pp. 63–68.
- ^ Klabnik & Nichols 2019, pp. 74–75.
- ^ Klabnik & Nichols 2023, pp. 71–72.
- ^ a b Balasubramanian, Abhiram; Baranowski, Marek S.; Burtsev, Anton; Panda, Aurojit; Rakamarić, Zvonimir; Ryzhyk, Leonid (2017-05-07). "System Programming in Rust". Proceedings of the 16th Workshop on Hot Topics in Operating Systems. HotOS '17. New York, NY, US: Association for Computing Machinery. pp. 156–161. doi:10.1145/3102980.3103006. ISBN 978-1-4503-5068-6. S2CID 24100599. Archived from the original on 2022-06-11. Retrieved 2022-06-01.
- ^ Klabnik & Nichols 2023, pp. 327–30.
- ^ "Lifetimes". Rust by Example. Archived from the original on 2024-11-16. Retrieved 2024-10-29.
- ^ "Explicit annotation". Rust by Example. Retrieved 2024-10-29.
- ^ a b Klabnik & Nichols 2019, p. 194.
- ^ Klabnik & Nichols 2019, pp. 75, 134.
- ^ Shamrell-Harrington, Nell (2022-04-15). "The Rust Borrow Checker – a Deep Dive". InfoQ. Archived from the original on 2022-06-25. Retrieved 2022-06-25.
- ^ Klabnik & Nichols 2019, pp. 194–195.
- ^ Klabnik & Nichols 2023, pp. 208–12.
- ^ Klabnik & Nichols 2023, 4.2. References and Borrowing.
- ^ Pearce, David (2021-04-17). "A Lightweight Formalism for Reference Lifetimes and Borrowing in Rust". ACM Transactions on Programming Languages and Systems. 43: 1–73. doi:10.1145/3443420. Archived from the original on 2024-04-15. Retrieved 2024-12-11.
- ^ Klabnik & Nichols 2019, p. 83.
- ^ Klabnik & Nichols 2019, p. 97.
- ^ Klabnik & Nichols 2019, pp. 98–101.
- ^ Klabnik & Nichols 2019, pp. 438–440.
- ^ a b Klabnik & Nichols 2019, pp. 93.
- ^ Gjengset 2021, pp. 213–215.
- ^ Klabnik & Nichols 2023, pp. 108–110, 113–114, 116–117.
- ^ Gjengset 2021, p. 155-156.
- ^ Klabnik & Nichols 2023, pp. 421–423.
- ^ a b Klabnik & Nichols 2019, pp. 418–427.
- ^ "Casting". Rust by Example. Retrieved 2025-04-01.
- ^ Klabnik & Nichols 2019, pp. 171–172.
- ^ Klabnik & Nichols 2019, pp. 171–172, 205.
- ^ Klabnik & Nichols 2019, pp. 181, 182.
- ^ Gjengset 2021, p. 25.
- ^ Klabnik & Nichols 2019, pp. 182–184.
- ^ Klabnik & Nichols 2019, pp. 281–283.
- ^ Klabnik & Nichols 2023, 18.2. Using Trait Objects That Allow for Values of Different Types.
- ^ Klabnik & Nichols 2019, pp. 441–442.
- ^ Klabnik & Nichols 2019, pp. 379–380.
- ^ Rosenblatt, Seth (2013-04-03). "Samsung joins Mozilla's quest for Rust". CNET. Archived from the original on 2013-04-04. Retrieved 2013-04-05.
- ^ Brown, Neil (2013-04-17). "A taste of Rust". LWN.net. Archived from the original on 2013-04-26. Retrieved 2013-04-25.
- ^ "Races". The Rustonomicon. Archived from the original on 2017-07-10. Retrieved 2017-07-03.
- ^ Vandervelden, Thibaut; De Smet, Ruben; Deac, Diana; Steenhaut, Kris; Braeken, An (2024-09-07). "Overview of Embedded Rust Operating Systems and Frameworks". Sensors. 24 (17): 5818. Bibcode:2024Senso..24.5818V. doi:10.3390/s24175818. PMC 11398098. PMID 39275729.
- ^ "The Rust Language FAQ". The Rust Programming Language. 2015. Archived from the original on 2015-04-20. Retrieved 2017-04-24.
- ^ McNamara 2021, p. 139, 376–379, 395.
- ^ "RAII". Rust by Example. Archived from the original on 2019-04-21. Retrieved 2020-11-22.
- ^ "Abstraction without overhead: traits in Rust". Rust Blog. Archived from the original on 2021-09-23. Retrieved 2021-10-19.
- ^ "Box, stack and heap". Rust by Example. Archived from the original on 2022-05-31. Retrieved 2022-06-13.
- ^ Klabnik & Nichols 2019, pp. 70–75.
- ^ Klabnik & Nichols 2019, p. 323.
- ^ Klabnik & Nichols 2023, pp. 449–455.
- ^ Gjengset 2021, pp. 101–102.
- ^ "Macros By Example". The Rust Reference. Archived from the original on 2023-04-21. Retrieved 2023-04-21.
- ^ Klabnik & Nichols 2019, pp. 446–448.
- ^ "Procedural Macros". The Rust Programming Language Reference. Archived from the original on 2020-11-07. Retrieved 2021-03-23.
- ^ Klabnik & Nichols 2019, pp. 449–455.
- ^ Baumgartner, Stefan (2025-05-23). "Programming language: Rust 2024 is the most comprehensive edition to date". heise online. Retrieved 2025-06-28.
- ^ a b c Gjengset 2021, pp. 193–209.
- ^ "Safe Interoperability between Rust and C++ with CXX". InfoQ. 2020-12-06. Archived from the original on 2021-01-22. Retrieved 2021-01-03.
- ^ Blandy, Orendorff & Tindall 2021, pp. 6–8.
- ^ "Overview of the compiler". Rust Compiler Development Guide. Rust project contributors. Archived from the original on 2023-05-31. Retrieved 2024-11-07.
- ^ "Code Generation". Rust Compiler Development Guide. Rust project contributors. Retrieved 2024-03-03.
- ^ "rust-lang/rustc_codegen_gcc". GitHub. The Rust Programming Language. 2024-03-02. Retrieved 2024-03-03.
- ^ "rust-lang/rustc_codegen_cranelift". GitHub. The Rust Programming Language. 2024-03-02. Retrieved 2024-03-03.
- ^ a b c Perkel, Jeffrey M. (2020-12-01). "Why scientists are turning to Rust". Nature. 588 (7836): 185–186. Bibcode:2020Natur.588..185P. doi:10.1038/d41586-020-03382-2. PMID 33262490. S2CID 227251258. Archived from the original on 2022-05-06. Retrieved 2022-05-15.
- ^ Simone, Sergio De (2019-04-18). "Rust 1.34 Introduces Alternative Registries for Non-Public Crates". InfoQ. Archived from the original on 2022-07-14. Retrieved 2022-07-14.
- ^ Klabnik & Nichols 2019, pp. 511–512.
- ^ "Clippy". GitHub. The Rust Programming Language. 2023-11-30. Archived from the original on 2021-05-23. Retrieved 2023-11-30.
- ^ "Clippy Lints". The Rust Programming Language. Retrieved 2023-11-30.
- ^ Klabnik & Nichols 2019, Appendix G – How Rust is Made and "Nightly Rust"
- ^ Blandy, Orendorff & Tindall 2021, pp. 176–177.
- ^ Klabnik & Nichols 2023, p. 623.
- ^ Anderson, Tim (2021-11-30). "Can Rust save the planet? Why, and why not". The Register. Archived from the original on 2022-07-11. Retrieved 2022-07-11.
- ^ Yegulalp, Serdar (2021-10-06). "What is the Rust language? Safe, fast, and easy software development". InfoWorld. Archived from the original on 2022-06-24. Retrieved 2022-06-25.
- ^ McNamara 2021, p. 11.
- ^ a b Popescu, Natalie; Xu, Ziyang; Apostolakis, Sotiris; August, David I.; Levy, Amit (2021-10-15). "Safer at any speed: automatic context-aware safety enhancement for Rust". Proceedings of the ACM on Programming Languages. 5 (OOPSLA). Section 2. doi:10.1145/3485480. S2CID 238212612. p. 5:
We observe a large variance in the overheads of checked indexing: 23.6% of benchmarks do report significant performance hits from checked indexing, but 64.5% report little-to-no impact and, surprisingly, 11.8% report improved performance ... Ultimately, while unchecked indexing can improve performance, most of the time it does not.
- ^ a b Astrauskas, Vytautas; Matheja, Christoph; Poli, Federico; Müller, Peter; Summers, Alexander J. (2020-11-13). "How do programmers use unsafe rust?". Proceedings of the ACM on Programming Languages. 4 (OOPSLA): 1–27. doi:10.1145/3428204. hdl:20.500.11850/465785. ISSN 2475-1421.
- ^ McNamara 2021, p. 19, 27.
- ^ Couprie, Geoffroy (2015). "Nom, A Byte oriented, streaming, Zero copy, Parser Combinators Library in Rust". 2015 IEEE Security and Privacy Workshops. pp. 142–148. doi:10.1109/SPW.2015.31. ISBN 978-1-4799-9933-0. S2CID 16608844. Archived from the original on 2022-10-09. Retrieved 2022-10-09.
- ^ McNamara 2021, p. 20.
- ^ "Code generation". The Rust Reference. Archived from the original on 2022-10-09. Retrieved 2022-10-09.
- ^ "How Fast Is Rust?". The Rust Programming Language FAQ. Archived from the original on 2020-10-28. Retrieved 2019-04-11.
- ^ Farshin, Alireza; Barbette, Tom; Roozbeh, Amir; Maguire Jr, Gerald Q.; Kostić, Dejan (2021). "PacketMill: Toward per-Core 100-GBPS networking". Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. pp. 1–17. doi:10.1145/3445814.3446724. ISBN 9781450383172. S2CID 231949599. Archived from the original on 2022-07-12. Retrieved 2022-07-12.
... While some compilers (e.g., Rust) support structure reordering [82], C & C++ compilers are forbidden to reorder data structures (e.g., struct or class) [74] ...
- ^ Gjengset 2021, p. 22.
- ^ Keizer, Gregg (2016-10-31). "Mozilla plans to rejuvenate Firefox in 2017". Computerworld. Archived from the original on 2023-05-13. Retrieved 2023-05-13.
- ^ Claburn, Thomas (2023-01-12). "Google polishes Chromium code with a layer of Rust". The Register. Retrieved 2024-07-17.
- ^ Jansens, Dana (2023-01-12). "Supporting the Use of Rust in the Chromium Project". Google Online Security Blog. Archived from the original on 2023-01-13. Retrieved 2023-11-12.
- ^ Shankland, Stephen (2016-07-12). "Firefox will get overhaul in bid to get you interested again". CNET. Archived from the original on 2022-07-14. Retrieved 2022-07-14.
- ^ Security Research Team (2013-10-04). "ZeroMQ: Helping us Block Malicious Domains in Real Time". Cisco Umbrella. Archived from the original on 2023-05-13. Retrieved 2023-05-13.
- ^ Cimpanu, Catalin (2019-10-15). "AWS to sponsor Rust project". ZDNET. Retrieved 2024-07-17.
- ^ Nichols, Shaun (2018-06-27). "Microsoft's next trick? Kicking things out of the cloud to Azure IoT Edge". The Register. Archived from the original on 2019-09-27. Retrieved 2019-09-27.
- ^ Tung, Liam (2020-04-30). "Microsoft: Why we used programming language Rust over Go for WebAssembly on Kubernetes app". ZDNET. Archived from the original on 2022-04-21. Retrieved 2022-04-21.
- ^ Claburn, Thomas (2022-09-20). "In Rust We Trust: Microsoft Azure CTO shuns C and C++". The Register. Retrieved 2024-07-07.
- ^ Simone, Sergio De (2019-03-10). "NPM Adopted Rust to Remove Performance Bottlenecks". InfoQ. Archived from the original on 2023-11-19. Retrieved 2023-11-20.
- ^ Lyu, Shing (2020). "Welcome to the World of Rust". In Lyu, Shing (ed.). Practical Rust Projects: Building Game, Physical Computing, and Machine Learning Applications. Berkeley, CA: Apress. pp. 1–8. doi:10.1007/978-1-4842-5599-5_1. ISBN 978-1-4842-5599-5. Retrieved 2023-11-29.
- ^ Lyu, Shing (2021). "Rust in the Web World". In Lyu, Shing (ed.). Practical Rust Web Projects: Building Cloud and Web-Based Applications. Berkeley, CA: Apress. pp. 1–7. doi:10.1007/978-1-4842-6589-5_1. ISBN 978-1-4842-6589-5. Retrieved 2023-11-29.
- ^ a b c Li, Hongyu; Guo, Liwei; Yang, Yexuan; Wang, Shangguang; Xu, Mengwei (2024-06-30). "An Empirical Study of Rust-for-Linux: The Success, Dissatisfaction, and Compromise". USENIX. Retrieved 2024-11-28.
- ^ Corbet, Jonathan (2022-10-13). "A first look at Rust in the 6.1 kernel". LWN.net. Archived from the original on 2023-11-17. Retrieved 2023-11-11.
- ^ Vaughan-Nichols, Steven (2021-12-07). "Rust takes a major step forward as Linux's second official language". ZDNET. Retrieved 2024-11-27.
- ^ Corbet, Jonathan (2022-11-17). "Rust in the 6.2 kernel". LWN.net. Retrieved 2024-11-28.
- ^ Corbet, Jonathan (2024-09-24). "Committing to Rust in the kernel". LWN.net. Retrieved 2024-11-28.
- ^ Amadeo, Ron (2021-04-07). "Google is now writing low-level Android code in Rust". Ars Technica. Archived from the original on 2021-04-08. Retrieved 2022-04-21.
- ^ Darkcrizt (2021-04-02). "Google Develops New Bluetooth Stack for Android, Written in Rust". Desde Linux. Archived from the original on 2021-08-25. Retrieved 2024-08-31.
- ^ Claburn, Thomas (2023-04-27). "Microsoft is rewriting core Windows libraries in Rust". The Register. Archived from the original on 2023-05-13. Retrieved 2023-05-13.
- ^ Proven, Liam (2023-12-01). "Small but mighty, 9Front's 'Humanbiologics' is here for the truly curious". The Register. Retrieved 2024-03-07.
- ^ Yegulalp, Serdar (2016-03-21). "Rust's Redox OS could show Linux a few new tricks". InfoWorld. Archived from the original on 2016-03-21. Retrieved 2016-03-21.
- ^ Anderson, Tim (2021-01-14). "Another Rust-y OS: Theseus joins Redox in pursuit of safer, more resilient systems". The Register. Archived from the original on 2022-07-14. Retrieved 2022-07-14.
- ^ Boos, Kevin; Liyanage, Namitha; Ijaz, Ramla; Zhong, Lin (2020). Theseus: an Experiment in Operating System Structure and State Management. pp. 1–19. ISBN 978-1-939133-19-9. Archived from the original on 2023-05-13. Retrieved 2023-05-13.
- ^ Zhang, HanDong (2023-01-31). "2022 Review | The adoption of Rust in Business". Rust Magazine. Retrieved 2023-02-07.
- ^ Sei, Mark (2018-10-10). "Fedora 29 new features: Startis now officially in Fedora". Marksei, Weekly sysadmin pills. Archived from the original on 2019-04-13. Retrieved 2019-05-13.
- ^ Proven, Liam (2022-07-12). "Oracle Linux 9 released, with some interesting additions". The Register. Archived from the original on 2022-07-14. Retrieved 2022-07-14.
- ^ Proven, Liam (2023-02-02). "System76 teases features coming in homegrown Rust-based desktop COSMIC". The Register. Archived from the original on 2024-07-17. Retrieved 2024-07-17.
- ^ Hu, Vivian (2020-06-12). "Deno Is Ready for Production". InfoQ. Archived from the original on 2020-07-01. Retrieved 2022-07-14.
- ^ Abrams, Lawrence (2021-02-06). "This Flash Player emulator lets you securely play your old games". Bleeping Computer. Archived from the original on 2021-12-25. Retrieved 2021-12-25.
- ^ Kharif, Olga (2020-10-17). "Ethereum Blockchain Killer Goes By Unassuming Name of Polkadot". Bloomberg News. Bloomberg L.P. Archived from the original on 2020-10-17. Retrieved 2021-07-14.
- ^ a b c "2024 Stack Overflow Developer Survey – Technology". Stack Overflow. Retrieved 2024-11-28.
- ^ Claburn, Thomas (2022-06-23). "Linus Torvalds says Rust is coming to the Linux kernel". The Register. Archived from the original on 2022-07-28. Retrieved 2022-07-15.
- ^ Jung, Ralf; Jourdan, Jacques-Henri; Krebbers, Robbert; Dreyer, Derek (2017-12-27). "RustBelt: securing the foundations of the Rust programming language". Proceedings of the ACM on Programming Languages. 2 (POPL): 1–34. doi:10.1145/3158154. hdl:21.11116/0000-0003-34C6-3. ISSN 2475-1421.
- ^ Popescu, Natalie; Xu, Ziyang; Apostolakis, Sotiris; August, David I.; Levy, Amit (2021-10-20). "Safer at any speed: automatic context-aware safety enhancement for Rust". Proceedings of the ACM on Programming Languages. 5 (OOPSLA): 1–23. doi:10.1145/3485480. ISSN 2475-1421.
- ^ Blanco-Cuaresma, Sergi; Bolmont, Emeline (2017-05-30). "What can the programming language Rust do for astrophysics?". Proceedings of the International Astronomical Union. 12 (S325): 341–344. arXiv:1702.02951. Bibcode:2017IAUS..325..341B. doi:10.1017/S1743921316013168. ISSN 1743-9213. S2CID 7857871. Archived from the original on 2022-06-25. Retrieved 2022-06-25.
- ^ Klabnik & Nichols 2019, p. 4.
- ^ "Getting Started". The Rust Programming Language. Archived from the original on 2020-11-01. Retrieved 2020-10-11.
- ^ "2024 State of Rust Survey Results | Rust Blog". blog.rust-lang.org. Retrieved 2025-04-06.
- ^ "The top programming languages". The State of the Octoverse. Retrieved 2025-06-25.
- ^ Staff, GitHub (2024-10-29). "Octoverse: AI leads Python to top language as the number of global developers surges". The GitHub Blog. Retrieved 2025-06-25.
- ^ Tung, Liam (2021-02-08). "The Rust programming language just took a huge step forwards". ZDNET. Archived from the original on 2022-07-14. Retrieved 2022-07-14.
- ^ Krill, Paul (2021-02-09). "Rust language moves to independent foundation". InfoWorld. Archived from the original on 2021-04-10. Retrieved 2021-04-10.
- ^ Vaughan-Nichols, Steven J. (2021-04-09). "AWS's Shane Miller to head the newly created Rust Foundation". ZDNET. Archived from the original on 2021-04-10. Retrieved 2021-04-10.
- ^ Vaughan-Nichols, Steven J. (2021-11-17). "Rust Foundation appoints Rebecca Rumbul as executive director". ZDNET. Archived from the original on 2021-11-18. Retrieved 2021-11-18.
- ^ "Governance". The Rust Programming Language. Archived from the original on 2022-05-10. Retrieved 2024-07-18.
- ^ "Introducing the Rust Leadership Council". Rust Blog. Retrieved 2024-01-12.
External links
Portal di Ensiklopedia Dunia