Skip to content

Rustup #13687

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Nov 14, 2024
3 changes: 2 additions & 1 deletion clippy_lints/src/large_const_arrays.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ impl<'tcx> LateLintPass<'tcx> for LargeConstArrays {
&& !item.span.from_expansion()
&& let ty = cx.tcx.type_of(item.owner_id).instantiate_identity()
&& let ty::Array(element_type, cst) = ty.kind()
&& let Ok((_, ty::ValTree::Leaf(element_count))) = cst.eval_valtree(cx.tcx, ParamEnv::empty(), item.span)
&& let Some((ty::ValTree::Leaf(element_count), _)) = cx.tcx
.try_normalize_erasing_regions(ParamEnv::empty(), *cst).unwrap_or(*cst).try_to_valtree()
&& let element_count = element_count.to_target_usize(cx.tcx)
&& let Ok(element_size) = cx.layout_of(*element_type).map(|l| l.size.bytes())
&& u128::from(self.maximum_allowed_size) < u128::from(element_count) * u128::from(element_size)
Expand Down
7 changes: 4 additions & 3 deletions clippy_utils/src/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
//! Thank you!
//! ~The `INTERNAL_METADATA_COLLECTOR` lint

use rustc_errors::{
Applicability, Diag, DiagMessage, EmissionGuarantee, MultiSpan, SubdiagMessage, SubstitutionPart, Suggestions,
};
use rustc_errors::{Applicability, Diag, DiagMessage, MultiSpan, SubdiagMessage};
#[cfg(debug_assertions)]
use rustc_errors::{EmissionGuarantee, SubstitutionPart, Suggestions};
use rustc_hir::HirId;
use rustc_lint::{LateContext, Lint, LintContext};
use rustc_span::Span;
Expand Down Expand Up @@ -38,6 +38,7 @@ fn docs_link(diag: &mut Diag<'_, ()>, lint: &'static Lint) {
/// only started triggered there.
///
/// This function makes sure we also validate them in debug clippy builds.
#[cfg(debug_assertions)]
fn validate_diag(diag: &Diag<'_, impl EmissionGuarantee>) {
let suggestions = match &diag.suggestions {
Suggestions::Enabled(suggs) => &**suggs,
Expand Down
8 changes: 2 additions & 6 deletions clippy_utils/src/qualify_min_const_fn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -393,12 +393,8 @@ fn is_stable_const_fn(tcx: TyCtxt<'_>, def_id: DefId, msrv: &Msrv) -> bool {

msrv.meets(const_stab_rust_version)
} else {
// Unstable const fn, check if the feature is enabled. We need both the regular stability
// feature and (if set) the const stability feature to const-call this function.
let stab = tcx.lookup_stability(def_id);
let is_enabled = stab.is_some_and(|s| s.is_stable() || tcx.features().enabled(s.feature))
&& const_stab.feature.is_none_or(|f| tcx.features().enabled(f));
is_enabled && msrv.current().is_none()
// Unstable const fn, check if the feature is enabled.
tcx.features().enabled(const_stab.feature) && msrv.current().is_none()
}
})
}
Expand Down
2 changes: 1 addition & 1 deletion rust-toolchain
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[toolchain]
channel = "nightly-2024-11-07"
channel = "nightly-2024-11-14"
components = ["cargo", "llvm-tools", "rust-src", "rust-std", "rustc", "rustc-dev", "rustfmt"]
profile = "minimal"
20 changes: 10 additions & 10 deletions tests/ui/empty_line_after/doc_comments.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ error: empty line after doc comment
|
LL | / /// for the crate
LL | |
| |_
| |_^
LL | fn first_in_crate() {}
| ------------------- the comment documents this function
|
Expand All @@ -22,7 +22,7 @@ error: empty line after doc comment
|
LL | / /// for the module
LL | |
| |_
| |_^
LL | fn first_in_module() {}
| -------------------- the comment documents this function
|
Expand All @@ -39,7 +39,7 @@ error: empty line after doc comment
|
LL | / /// # Indented
LL | |
| |_
| |_^
LL | /// Blank line
LL | fn indented() {}
| ------------- the comment documents this function
Expand All @@ -55,7 +55,7 @@ error: empty line after doc comment
|
LL | / /// This should produce a warning
LL | |
| |_
| |_^
LL | fn with_doc_and_newline() {}
| ------------------------- the comment documents this function
|
Expand All @@ -69,7 +69,7 @@ LL | |
LL | | /** This is also a doc comment and is part of the warning
LL | | */
LL | |
| |_
| |_^
...
LL | fn three_attributes() {}
| --------------------- the comment documents this function
Expand All @@ -82,7 +82,7 @@ error: empty line after doc comment
LL | / /// docs for `old_code`
LL | | // fn old_code() {}
LL | |
| |_
| |_^
LL | fn new_code() {}
| ------------- the comment documents this function
|
Expand All @@ -102,7 +102,7 @@ LL | | /// Docs
LL | | /// for OldB
LL | | // struct OldB;
LL | |
| |_
| |_^
...
LL | struct Multiple;
| --------------- the comment documents this struct
Expand All @@ -125,7 +125,7 @@ LL | / /**
LL | | * Meant to be inner doc comment
LL | | */
LL | |
| |_
| |_^
LL | fn first_in_module() {}
| -------------------- the comment documents this function
|
Expand All @@ -143,7 +143,7 @@ LL | | * Docs for `old_code`
LL | | */
LL | | /* fn old_code() {} */
LL | |
| |_
| |_^
...
LL | fn new_code() {}
| ------------- the comment documents this function
Expand All @@ -161,7 +161,7 @@ error: empty line after doc comment
LL | / /// Docs for `old_code2`
LL | | /* fn old_code2() {} */
LL | |
| |_
| |_^
LL | /// Docs for `new_code2`
LL | fn new_code2() {}
| -------------- the comment documents this function
Expand Down
18 changes: 9 additions & 9 deletions tests/ui/empty_line_after/outer_attribute.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ error: empty line after outer attribute
|
LL | / #[crate_type = "lib"]
LL | |
| |_
| |_^
LL | fn first_in_crate() {}
| ------------------- the attribute applies to this function
|
Expand All @@ -20,7 +20,7 @@ error: empty line after outer attribute
|
LL | / #[inline]
LL | |
| |_
| |_^
LL | /// some comment
LL | fn with_one_newline_and_comment() {}
| --------------------------------- the attribute applies to this function
Expand All @@ -32,7 +32,7 @@ error: empty line after outer attribute
|
LL | / #[inline]
LL | |
| |_
| |_^
LL | fn with_one_newline() {}
| --------------------- the attribute applies to this function
|
Expand All @@ -44,7 +44,7 @@ error: empty lines after outer attribute
LL | / #[crate_type = "lib"]
LL | |
LL | |
| |_
| |_^
LL | fn with_two_newlines() {}
| ---------------------- the attribute applies to this function
|
Expand All @@ -59,7 +59,7 @@ error: empty line after outer attribute
|
LL | / #[doc = "doc attributes should be considered attributes"]
LL | |
| |_
| |_^
LL | enum Baz {
| -------- the attribute applies to this enum
|
Expand All @@ -70,7 +70,7 @@ error: empty line after outer attribute
|
LL | / #[repr(C)]
LL | |
| |_
| |_^
LL | struct Foo {
| ---------- the attribute applies to this struct
|
Expand All @@ -81,7 +81,7 @@ error: empty line after outer attribute
|
LL | / #[allow(dead_code)]
LL | |
| |_
| |_^
LL | mod foo {}
| ------- the attribute applies to this module
|
Expand All @@ -93,7 +93,7 @@ error: empty line after outer attribute
LL | / #[inline]
LL | | // Still lint cases where the empty line does not immediately follow the attribute
LL | |
| |_
| |_^
LL | fn comment_before_empty_line() {}
| ------------------------------ the attribute applies to this function
|
Expand All @@ -106,7 +106,7 @@ LL | / #[allow(unused)]
LL | |
LL | | // This comment is isolated
LL | |
| |_
| |_^
LL | pub fn isolated_comment() {}
| ------------------------- the attribute applies to this function
|
Expand Down
10 changes: 5 additions & 5 deletions tests/ui/four_forward_slashes.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ error: this item has comments with 4 forward slashes (`////`). These look like d
|
LL | / //// whoops
LL | | fn a() {}
| |_
| |_^
|
= note: `-D clippy::four-forward-slashes` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::four_forward_slashes)]`
Expand All @@ -18,7 +18,7 @@ error: this item has comments with 4 forward slashes (`////`). These look like d
LL | / //// whoops
LL | | #[allow(dead_code)]
LL | | fn b() {}
| |_
| |_^
|
help: make this a doc comment by removing one `/`
|
Expand All @@ -32,7 +32,7 @@ LL | / //// whoops
LL | | //// two borked comments!
LL | | #[track_caller]
LL | | fn c() {}
| |_
| |_^
|
help: turn these into doc comments by removing one `/`
|
Expand All @@ -46,7 +46,7 @@ error: this item has comments with 4 forward slashes (`////`). These look like d
LL | / //// between attributes
LL | | #[allow(dead_code)]
LL | | fn g() {}
| |_
| |_^
|
help: make this a doc comment by removing one `/`
|
Expand All @@ -58,7 +58,7 @@ error: this item has comments with 4 forward slashes (`////`). These look like d
|
LL | / //// not very start of contents
LL | | fn h() {}
| |_
| |_^
|
help: make this a doc comment by removing one `/`
|
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/four_forward_slashes_first_line.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ error: this item has comments with 4 forward slashes (`////`). These look like d
|
LL | / //// borked doc comment on the first line. doesn't combust!
LL | | fn a() {}
| |_
| |_^
|
= note: `-D clippy::four-forward-slashes` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::four_forward_slashes)]`
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/too_long_first_doc_paragraph-fix.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ LL | | /// A much longer explanation that goes into a lot more detail about
LL | | /// how the thing works, possibly with doclinks and so one,
LL | | /// and probably spanning a many rows. Blablabla, it needs to be over
LL | | /// 200 characters so I needed to write something longeeeeeeer.
| |_
| |_^
|
= note: `-D clippy::too-long-first-doc-paragraph` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::too_long_first_doc_paragraph)]`
Expand Down
4 changes: 2 additions & 2 deletions tests/ui/too_long_first_doc_paragraph.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ error: first doc comment paragraph is too long
LL | / /// Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc turpis nunc, lacinia
LL | | /// a dolor in, pellentesque aliquet enim. Cras nec maximus sem. Mauris arcu libero,
LL | | /// gravida non lacinia at, rhoncus eu lacus.
| |_
| |_^

error: first doc comment paragraph is too long
--> tests/ui/too_long_first_doc_paragraph.rs:36:1
Expand All @@ -32,7 +32,7 @@ LL | / /// Lorem
LL | | /// ipsum dolor sit amet, consectetur adipiscing elit. Nunc turpis nunc, lacinia
LL | | /// a dolor in, pellentesque aliquet enim. Cras nec maximus sem. Mauris arcu libero,
LL | | /// gravida non lacinia at, rhoncus eu lacus.
| |_
| |_^

error: aborting due to 3 previous errors