]> 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 5d2faac57d8357ce965f09550543777b5fc589f3..caae17b202235e7248f25bc0d59381222a6f0b7d 100644 (file)
@@ -4,34 +4,32 @@
 #![feature(never_type)]
 #![feature(try_blocks)]
 #![feature(let_else)]
-#![feature(bool_to_option)]
 #![feature(io_error_more)]
-#![warn(rust_2018_idioms)]
-#![allow(clippy::cast_lossless)]
-// TODO: Uncategorized. Some of these we'll want to fix, some keep ignored.
+#![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::from_over_into,
-    clippy::if_same_then_else,
     clippy::manual_map,
-    clippy::needless_borrow,
-    clippy::needless_lifetimes,
-    clippy::needless_question_mark,
-    clippy::needless_return,
     clippy::new_without_default,
-    clippy::op_ref,
-    clippy::redundant_closure,
-    clippy::redundant_field_names,
-    clippy::single_char_add_str,
-    clippy::single_char_pattern,
     clippy::single_match,
-    clippy::unnecessary_mut_passed,
-    clippy::useless_conversion,
-    clippy::useless_format
+    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;
@@ -46,7 +44,7 @@
 extern crate rustc_span;
 extern crate rustc_target;
 
-mod data_race;
+mod concurrency;
 mod diagnostics;
 mod eval;
 mod helpers;
@@ -66,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 _};
@@ -78,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, 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::{