2019
DOI: 10.48550/arxiv.1903.00982
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

Oxide: The Essence of Rust

Abstract: Rust is a major advancement in industrial programming languages due in large part to its success in bridging the gap between low-level systems programming and high-level application programming. This success has ultimately empowered programmers to more easily build reliable and efficient software, and at its heart lies a novel approach to ownership that balances type system expressivity with usability.In this work, we set out to capture the essence of this model of ownership by developing a type systems accoun… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 10 publications
(15 citation statements)
references
References 28 publications
0
15
0
Order By: Relevance
“…While the algorithm is implemented itself as a Rust program, our goal here is to provide a description of it that is both concise (for clarity of communication) and precise (for amenability to proof). We therefore base our description on Oxide [35], a formal model of Rust. At a high-level, Oxide provides three ingredients: 1.…”
Section: Algorithmmentioning
confidence: 99%
See 2 more Smart Citations
“…While the algorithm is implemented itself as a Rust program, our goal here is to provide a description of it that is both concise (for clarity of communication) and precise (for amenability to proof). We therefore base our description on Oxide [35], a formal model of Rust. At a high-level, Oxide provides three ingredients: 1.…”
Section: Algorithmmentioning
confidence: 99%
“…Θ 2 Again, this rule (and many others) contain aspects of Oxide that are not essential for understanding information flow such as the subtyping judgment 𝜏 1 ≲ 𝜏 2 or the metafunction gc-loans. For brevity we will not cover these aspects here, and instead refer the interested reader to Weiss et al [35]. We have deemphasized (in grey) the judgments which are not important to understanding our information flow additions.…”
Section: Variables and Mutationmentioning
confidence: 99%
See 1 more Smart Citation
“…Whole-language semantics. There have been a variety of efforts at building language semantics for whole, real languages: for JavaScript [Guha et al 2010;Maffeis et al 2008], for C [Blazy and Leroy 2009;Ellison and Rosu 2012;Kang et al 2015;Krebbers et al 2014;Memarian et al 2016], and for Rust [Jung et al 2017;Weiss et al 2018Weiss et al , 2019, to name a few. Approaches to such whole-language semantics fall broadly into two styles of modeling: large semantics that cover a broad range of language constructs, using light syntactic sugar; and small semantics that cover a narrow range of language constructs, using heavy syntactic sugar/elaboration.…”
Section: Related Workmentioning
confidence: 99%
“…Rust's lifetime system is more explicit and more expressive than Affe, however Rust does not provide type inference and only provides partial lifetime inference. Recently, Weiss et al (2019) formalized Rust's ownership discipline, including non-lexical lifetimes. We believe this work could help us improve our handling of regions and of successive exclusive borrows.…”
Section: Other Substructural Type-systemsmentioning
confidence: 99%

Kindly Bent to Free Us

Radanne,
Saffrich,
Thiemann
2019
Preprint