diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2021-07-27 19:52:40 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-27 19:52:40 +0900 |
| commit | 99a6474bc45c66823972da3e4e23dc4cf47dd79a (patch) | |
| tree | d06fe78bdab65bcb4b127f2c75cdb6cdfbfe15e8 /compiler/rustc_middle/src/middle | |
| parent | 998cfe5aad7c21eb19a4bca50f05a13354706970 (diff) | |
| parent | 9792179648abb7bf38a9e54191cfe5a25436b8fb (diff) | |
| download | rust-99a6474bc45c66823972da3e4e23dc4cf47dd79a.tar.gz rust-99a6474bc45c66823972da3e4e23dc4cf47dd79a.zip | |
Rollup merge of #86450 - tmiasko:move-size-limit, r=pnkfelix
Add flag to configure `large_assignments` lint The `large_assignments` lints detects moves over specified limit. The limit is configured through `move_size_limit = "N"` attribute placed at the root of a crate. When attribute is absent, the lint is disabled. Make it possible to enable the lint without making any changes to the source code, through a new flag `-Zmove-size-limit=N`. For example, to detect moves exceeding 1023 bytes in a cargo crate, including all dependencies one could use: ``` $ env RUSTFLAGS=-Zmove-size-limit=1024 cargo build -vv ``` Lint tracking issue #83518.
Diffstat (limited to 'compiler/rustc_middle/src/middle')
| -rw-r--r-- | compiler/rustc_middle/src/middle/limits.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_middle/src/middle/limits.rs b/compiler/rustc_middle/src/middle/limits.rs index c4bfd0ebb2f..7ea4902f4bc 100644 --- a/compiler/rustc_middle/src/middle/limits.rs +++ b/compiler/rustc_middle/src/middle/limits.rs @@ -21,7 +21,12 @@ use std::num::IntErrorKind; pub fn provide(providers: &mut ty::query::Providers) { providers.limits = |tcx, ()| Limits { recursion_limit: get_recursion_limit(tcx.hir().krate_attrs(), tcx.sess), - move_size_limit: get_limit(tcx.hir().krate_attrs(), tcx.sess, sym::move_size_limit, 0), + move_size_limit: get_limit( + tcx.hir().krate_attrs(), + tcx.sess, + sym::move_size_limit, + tcx.sess.opts.debugging_opts.move_size_limit.unwrap_or(0), + ), type_length_limit: get_limit( tcx.hir().krate_attrs(), tcx.sess, |
