Skip to main content

vstd_extra/
lib.rs

1//! The "extra standard library" for [Verus](https://github.com/verus-lang/verus).
2//! Contains various utilities and general datatypes for proofs useful in Asterinas verification,
3//! as well as extending [Verus standard library(vstd)](https://verus-lang.github.io/verus/verusdoc/vstd) with additional functionality.
4#![no_std]
5#![feature(sized_hierarchy)]
6#![feature(btree_cursors)]
7#![feature(proc_macro_hygiene)]
8#![cfg_attr(verus_keep_ghost, feature(allocator_api))]
9#![allow(non_snake_case)]
10#![allow(unused_parens)]
11#![allow(unused_braces)]
12#![allow(rustdoc::invalid_rust_codeblocks)]
13#![allow(rustdoc::invalid_html_tags)]
14#![allow(rustdoc::broken_intra_doc_links)]
15
16extern crate alloc;
17
18pub mod arithmetic;
19pub mod array_ptr;
20pub mod atomic_data;
21#[cfg(feature = "irc11")]
22pub mod atomic_irc11;
23pub mod auxiliary;
24pub mod bits;
25pub mod cast_ptr;
26pub mod drop_tracking;
27pub mod external;
28pub mod function_properties;
29pub mod ghost_tree;
30pub mod once;
31pub mod ownership;
32pub mod panic;
33pub mod resource;
34#[cfg(feature = "irc11")]
35pub mod scheduler_thread_view;
36
37#[macro_use]
38pub mod trans_macros;
39pub mod map_extra;
40
41pub mod prelude;
42pub mod range;
43pub mod raw_ptr_extra;
44pub mod rcu_objects;
45pub mod rcu_read_lease;
46pub mod resource_invariant;
47pub mod seq_extra;
48pub mod set_extra;
49pub mod spec_operators;
50pub mod state_machine;
51pub mod sum;
52pub mod temporal_logic;