]> git.lizzy.rs Git - rust.git/blobdiff - src/lib.rs
Auto merge of #2426 - saethlin:unix-exec, r=RalfJung
[rust.git] / src / lib.rs
index 9542fb9b96355228e0391359d4d44dfb9c374a3e..caae17b202235e7248f25bc0d59381222a6f0b7d 100644 (file)
@@ -4,9 +4,33 @@
 #![feature(never_type)]
 #![feature(try_blocks)]
 #![feature(let_else)]
-#![feature(bool_to_option)]
-#![warn(rust_2018_idioms)]
-#![allow(clippy::cast_lossless)]
+#![feature(io_error_more)]
+#![feature(yeet_expr)]
+#![feature(is_some_with)]
+#![feature(nonzero_ops)]
+#![feature(local_key_cell_methods)]
+// Configure clippy and other lints
+#![allow(
+    clippy::collapsible_else_if,
+    clippy::collapsible_if,
+    clippy::comparison_chain,
+    clippy::enum_variant_names,
+    clippy::field_reassign_with_default,
+    clippy::manual_map,
+    clippy::new_without_default,
+    clippy::single_match,
+    clippy::useless_format,
+    clippy::derive_partial_eq_without_eq,
+    clippy::derive_hash_xor_eq,
+    clippy::too_many_arguments
+)]
+#![warn(
+    rust_2018_idioms,
+    clippy::cast_possible_wrap, // unsigned -> signed
+    clippy::cast_sign_loss, // signed -> unsigned
+    clippy::cast_lossless,
+    clippy::cast_possible_truncation,
+)]
 
 extern crate rustc_apfloat;
 extern crate rustc_ast;
@@ -20,7 +44,7 @@
 extern crate rustc_span;
 extern crate rustc_target;
 
-mod data_race;
+mod concurrency;
 mod diagnostics;
 mod eval;
 mod helpers;
@@ -40,7 +64,7 @@
 // Make all those symbols available in the same place as our own.
 pub use rustc_const_eval::interpret::*;
 // Resolve ambiguity.
-pub use rustc_const_eval::interpret::{self, AllocMap, PlaceTy};
+pub use rustc_const_eval::interpret::{self, AllocMap, PlaceTy, Provenance as _};
 
 pub use crate::shims::dlsym::{Dlsym, EvalContextExt as _};
 pub use crate::shims::env::{EnvVars, EvalContextExt as _};
@@ -52,8 +76,8 @@
 pub use crate::shims::tls::{EvalContextExt as _, TlsData};
 pub use crate::shims::EvalContextExt as _;
 
-pub use crate::data_race::{
-    AtomicFenceOp, AtomicReadOp, AtomicRwOp, AtomicWriteOp,
+pub use crate::concurrency::data_race::{
+    AtomicFenceOrd, AtomicReadOrd, AtomicRwOrd, AtomicWriteOrd,
     EvalContextExt as DataRaceEvalContextExt,
 };
 pub use crate::diagnostics::{
 pub use crate::eval::{
     create_ecx, eval_entry, AlignmentCheck, BacktraceStyle, IsolatedOp, MiriConfig, RejectOpWith,
 };
-pub use crate::helpers::EvalContextExt as HelpersEvalContextExt;
+pub use crate::helpers::{CurrentSpan, EvalContextExt as HelpersEvalContextExt};
+pub use crate::intptrcast::ProvenanceMode;
 pub use crate::machine::{
-    AllocExtra, Evaluator, FrameData, MemoryExtra, MiriEvalContext, MiriEvalContextExt,
-    MiriMemoryKind, Tag, NUM_CPUS, PAGE_SIZE, STACK_ADDR, STACK_SIZE,
+    AllocExtra, Evaluator, FrameData, MiriEvalContext, MiriEvalContextExt, MiriMemoryKind,
+    Provenance, ProvenanceExtra, NUM_CPUS, PAGE_SIZE, STACK_ADDR, STACK_SIZE,
 };
 pub use crate::mono_hash_map::MonoHashMap;
 pub use crate::operator::EvalContextExt as OperatorEvalContextExt;
 pub use crate::range_map::RangeMap;
 pub use crate::stacked_borrows::{
-    CallId, EvalContextExt as StackedBorEvalContextExt, Item, Permission, PtrId, SbTag, Stack,
-    Stacks,
+    CallId, EvalContextExt as StackedBorEvalContextExt, Item, Permission, SbTag, Stack, Stacks,
 };
 pub use crate::sync::{CondvarId, EvalContextExt as SyncEvalContextExt, MutexId, RwLockId};
 pub use crate::thread::{