about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/doc/unstable-book/src/language-features/const-eval-limit.md7
-rw-r--r--src/doc/unstable-book/src/language-features/const-limit.md7
-rw-r--r--src/librustc/middle/limits.rs4
-rw-r--r--src/librustc/middle/mod.rs2
-rw-r--r--src/librustc_feature/active.rs2
-rw-r--r--src/librustc_feature/builtin_attrs.rs4
-rw-r--r--src/librustc_interface/passes.rs2
-rw-r--r--src/librustc_session/session.rs4
-rw-r--r--src/librustc_span/symbol.rs2
-rw-r--r--src/test/ui/consts/const_limit/const_eval_limit_not_reached.rs (renamed from src/test/ui/consts/const_limit/const_limit_overflow.rs)6
-rw-r--r--src/test/ui/consts/const_limit/const_eval_limit_overflow.rs (renamed from src/test/ui/consts/const_limit/feature-gate-const_limit.rs)5
-rw-r--r--src/test/ui/consts/const_limit/const_eval_limit_reached.rs (renamed from src/test/ui/consts/const_limit/const_limit_not_reached.rs)6
-rw-r--r--src/test/ui/consts/const_limit/feature-gate-const_eval_limit.rs14
-rw-r--r--src/test/ui/consts/const_limit/feature-gate-const_eval_limit.stderr12
-rw-r--r--src/test/ui/consts/const_limit/feature-gate-const_limit.stderr12
15 files changed, 52 insertions, 37 deletions
diff --git a/src/doc/unstable-book/src/language-features/const-eval-limit.md b/src/doc/unstable-book/src/language-features/const-eval-limit.md
new file mode 100644
index 00000000000..d1442d866dc
--- /dev/null
+++ b/src/doc/unstable-book/src/language-features/const-eval-limit.md
@@ -0,0 +1,7 @@
+# `const_eval_limit`
+
+The tracking issue for this feature is: [#67217]
+
+[#57563]: https://github.com/rust-lang/rust/issues/67217
+
+The `const_eval_limit` allows someone to limit the evaluation steps the CTFE undertakes to evaluate a `const fn`.
\ No newline at end of file
diff --git a/src/doc/unstable-book/src/language-features/const-limit.md b/src/doc/unstable-book/src/language-features/const-limit.md
deleted file mode 100644
index 2fc5963dc6e..00000000000
--- a/src/doc/unstable-book/src/language-features/const-limit.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# `const_limit`
-
-The tracking issue for this feature is: [#67217]
-
-[#57563]: https://github.com/rust-lang/rust/issues/67217
-
-The `const_limit` allows someone to limit the evaluation steps the CTFE undertakes to evaluate a `const fn`.
\ No newline at end of file
diff --git a/src/librustc/middle/limits.rs b/src/librustc/middle/limits.rs
index 6ed0a498c7d..19eb8a3fab8 100644
--- a/src/librustc/middle/limits.rs
+++ b/src/librustc/middle/limits.rs
@@ -1,4 +1,4 @@
-//! Registering limits, recursion_limit, type_length_limit and const_limit
+//! Registering limits, recursion_limit, type_length_limit and const_eval_limit
 //!
 //! There are various parts of the compiler that must impose arbitrary limits
 //! on how deeply they recurse to prevent stack overflow. Users can override
@@ -16,7 +16,7 @@ use rustc_data_structures::sync::Once;
 pub fn update_limits(sess: &Session, krate: &ast::Crate) {
     update_limit(sess, krate, &sess.recursion_limit, sym::recursion_limit, 128);
     update_limit(sess, krate, &sess.type_length_limit, sym::type_length_limit, 1048576);
-    update_limit(sess, krate, &sess.const_limit, sym::const_limit, 1_000_000);
+    update_limit(sess, krate, &sess.const_eval_limit, sym::const_eval_limit, 1_000_000);
 }
 
 fn update_limit(
diff --git a/src/librustc/middle/mod.rs b/src/librustc/middle/mod.rs
index b20f2cf3a85..464488964af 100644
--- a/src/librustc/middle/mod.rs
+++ b/src/librustc/middle/mod.rs
@@ -28,8 +28,8 @@ pub mod lib_features {
         }
     }
 }
+pub mod limits;
 pub mod privacy;
-pub mod recursion_limit;
 pub mod region;
 pub mod resolve_lifetime;
 pub mod stability;
diff --git a/src/librustc_feature/active.rs b/src/librustc_feature/active.rs
index 2f9394cd566..9bfb1a3a664 100644
--- a/src/librustc_feature/active.rs
+++ b/src/librustc_feature/active.rs
@@ -533,7 +533,7 @@ declare_features! (
     (active, const_mut_refs, "1.41.0", Some(57349), None),
 
     // Allows limiting the evaluation steps of const expressions
-    (active, const_limit, "1.41.0", Some(67217), None),
+    (active, const_eval_limit, "1.41.0", Some(67217), None),
 
     /// Allows the use of `loop` and `while` in constants.
     (active, const_loop, "1.41.0", Some(52000), None),
diff --git a/src/librustc_feature/builtin_attrs.rs b/src/librustc_feature/builtin_attrs.rs
index 2b79f6bd942..c140adf64d5 100644
--- a/src/librustc_feature/builtin_attrs.rs
+++ b/src/librustc_feature/builtin_attrs.rs
@@ -240,8 +240,8 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
     ungated!(recursion_limit, CrateLevel, template!(NameValueStr: "N")),
     ungated!(type_length_limit, CrateLevel, template!(NameValueStr: "N")),
     gated!(
-        const_limit, CrateLevel, template!(NameValueStr: "N"), const_limit,
-        experimental!(const_limit)
+        const_eval_limit, CrateLevel, template!(NameValueStr: "N"), const_eval_limit,
+        experimental!(const_eval_limit)
     ),
 
     // Entry point:
diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs
index 1e9b76c3e14..29e9ea1833f 100644
--- a/src/librustc_interface/passes.rs
+++ b/src/librustc_interface/passes.rs
@@ -189,7 +189,7 @@ pub fn register_plugins<'a>(
     }
 
     sess.time("recursion_limit", || {
-        middle::recursion_limit::update_limits(sess, &krate);
+        middle::limits::update_limits(sess, &krate);
     });
 
     let mut lint_store = rustc_lint::new_lint_store(
diff --git a/src/librustc_session/session.rs b/src/librustc_session/session.rs
index a8879f00c80..173b120e1f6 100644
--- a/src/librustc_session/session.rs
+++ b/src/librustc_session/session.rs
@@ -89,7 +89,7 @@ pub struct Session {
     pub type_length_limit: Once<usize>,
 
     /// The maximum blocks a const expression can evaluate.
-    pub const_limit: Once<usize>,
+    pub const_eval_limit: Once<usize>,
 
     /// Map from imported macro spans (which consist of
     /// the localized span for the macro body) to the
@@ -1056,7 +1056,7 @@ fn build_session_(
         features: Once::new(),
         recursion_limit: Once::new(),
         type_length_limit: Once::new(),
-        const_limit: Once::new(),
+        const_eval_limit: Once::new(),
         imported_macro_spans: OneThread::new(RefCell::new(FxHashMap::default())),
         incr_comp_session: OneThread::new(RefCell::new(IncrCompSession::NotInitialized)),
         cgu_reuse_tracker,
diff --git a/src/librustc_span/symbol.rs b/src/librustc_span/symbol.rs
index e92e2fc1d43..c39f9f360c0 100644
--- a/src/librustc_span/symbol.rs
+++ b/src/librustc_span/symbol.rs
@@ -208,7 +208,7 @@ symbols! {
         console,
         const_compare_raw_pointers,
         const_constructor,
-        const_limit,
+        const_eval_limit,
         const_extern_fn,
         const_fn,
         const_fn_union,
diff --git a/src/test/ui/consts/const_limit/const_limit_overflow.rs b/src/test/ui/consts/const_limit/const_eval_limit_not_reached.rs
index bea40e60261..4ed908312fb 100644
--- a/src/test/ui/consts/const_limit/const_limit_overflow.rs
+++ b/src/test/ui/consts/const_limit/const_eval_limit_not_reached.rs
@@ -1,6 +1,6 @@
-// run-pass
-#![feature(const_limit)]
-#![const_limit="18_446_744_073_709_551_615"]
+// check-pass
+#![feature(const_eval_limit)]
+#![const_eval_limit="1000"]
 
 const CONSTANT: usize = limit();
 
diff --git a/src/test/ui/consts/const_limit/feature-gate-const_limit.rs b/src/test/ui/consts/const_limit/const_eval_limit_overflow.rs
index 761e80050a6..38e70f997f0 100644
--- a/src/test/ui/consts/const_limit/feature-gate-const_limit.rs
+++ b/src/test/ui/consts/const_limit/const_eval_limit_overflow.rs
@@ -1,5 +1,6 @@
-#![const_limit="1"]
-//~^ ERROR the `#[const_limit]` attribute is an experimental feature [E0658]
+// check-pass
+#![feature(const_eval_limit)]
+#![const_eval_limit="18_446_744_073_709_551_615"]
 
 const CONSTANT: usize = limit();
 
diff --git a/src/test/ui/consts/const_limit/const_limit_not_reached.rs b/src/test/ui/consts/const_limit/const_eval_limit_reached.rs
index 24c0f92af34..86570c240e5 100644
--- a/src/test/ui/consts/const_limit/const_limit_not_reached.rs
+++ b/src/test/ui/consts/const_limit/const_eval_limit_reached.rs
@@ -1,6 +1,6 @@
-// run-pass
-#![feature(const_limit)]
-#![const_limit="1000"]
+// check-pass
+#![feature(const_eval_limit)]
+#![const_eval_limit="2"]
 
 const CONSTANT: usize = limit();
 
diff --git a/src/test/ui/consts/const_limit/feature-gate-const_eval_limit.rs b/src/test/ui/consts/const_limit/feature-gate-const_eval_limit.rs
new file mode 100644
index 00000000000..61119d7511d
--- /dev/null
+++ b/src/test/ui/consts/const_limit/feature-gate-const_eval_limit.rs
@@ -0,0 +1,14 @@
+#![const_eval_limit="42"]
+//~^ ERROR the `#[const_eval_limit]` attribute is an experimental feature [E0658]
+
+const CONSTANT: usize = limit();
+
+fn main() {
+    assert_eq!(CONSTANT, 1764);
+}
+
+const fn limit() -> usize {
+    let x = 42;
+
+    x * 42
+}
diff --git a/src/test/ui/consts/const_limit/feature-gate-const_eval_limit.stderr b/src/test/ui/consts/const_limit/feature-gate-const_eval_limit.stderr
new file mode 100644
index 00000000000..790ba2483a1
--- /dev/null
+++ b/src/test/ui/consts/const_limit/feature-gate-const_eval_limit.stderr
@@ -0,0 +1,12 @@
+error[E0658]: the `#[const_eval_limit]` attribute is an experimental feature
+  --> $DIR/feature-gate-const_eval_limit.rs:1:1
+   |
+LL | #![const_eval_limit="42"]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: for more information, see https://github.com/rust-lang/rust/issues/67217
+   = help: add `#![feature(const_eval_limit)]` to the crate attributes to enable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/consts/const_limit/feature-gate-const_limit.stderr b/src/test/ui/consts/const_limit/feature-gate-const_limit.stderr
deleted file mode 100644
index db248994b47..00000000000
--- a/src/test/ui/consts/const_limit/feature-gate-const_limit.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0658]: the `#[const_limit]` attribute is an experimental feature
-  --> $DIR/feature-gate-const_limit.rs:1:1
-   |
-LL | #![const_limit="1"]
-   | ^^^^^^^^^^^^^^^^^^^
-   |
-   = note: for more information, see https://github.com/rust-lang/rust/issues/67217
-   = help: add `#![feature(const_limit)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.