mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-10 15:14:29 +00:00
doc_lazy_continuation: do not warn on End events
This avoids event spans that would otherwise cause crashes, since an End's span covers the range of the tag (which will be earlier than the line break within the tag).
This commit is contained in:
parent
680256f3ce
commit
b5cf8b8277
4 changed files with 97 additions and 2 deletions
|
@ -750,10 +750,11 @@ fn check_doc<'a, Events: Iterator<Item = (pulldown_cmark::Event<'a>, Range<usize
|
|||
Start(_tag) | End(_tag) => (), // We don't care about other tags
|
||||
SoftBreak | HardBreak => {
|
||||
if !containers.is_empty()
|
||||
&& let Some((_next_event, next_range)) = events.peek()
|
||||
&& let Some((next_event, next_range)) = events.peek()
|
||||
&& let Some(next_span) = fragments.span(cx, next_range.clone())
|
||||
&& let Some(span) = fragments.span(cx, range.clone())
|
||||
&& !in_footnote_definition
|
||||
&& !matches!(next_event, End(_))
|
||||
{
|
||||
lazy_continuation::check(
|
||||
cx,
|
||||
|
|
|
@ -40,3 +40,38 @@ fn six() {}
|
|||
///
|
||||
/// this is not a lazy continuation
|
||||
fn seven() {}
|
||||
|
||||
#[rustfmt::skip]
|
||||
// https://github.com/rust-lang/rust-clippy/pull/12770#issuecomment-2118601768
|
||||
/// Returns a list of ProtocolDescriptors from a Serde JSON input.
|
||||
///
|
||||
/// Defined Protocol Identifiers for the Protocol Descriptor
|
||||
/// We intentionally omit deprecated profile identifiers.
|
||||
/// From Bluetooth Assigned Numbers:
|
||||
/// https://www.bluetooth.com/specifications/assigned-numbers/service-discovery
|
||||
///
|
||||
/// # Arguments
|
||||
/// * `protocol_descriptors`: A Json Representation of the ProtocolDescriptors
|
||||
/// to set up. Example:
|
||||
/// 'protocol_descriptors': [
|
||||
//~^ ERROR: doc list item missing indentation
|
||||
/// {
|
||||
/// 'protocol': 25, # u64 Representation of ProtocolIdentifier::AVDTP
|
||||
/// 'params': [
|
||||
/// {
|
||||
/// 'data': 0x0103 # to indicate 1.3
|
||||
/// },
|
||||
/// {
|
||||
/// 'data': 0x0105 # to indicate 1.5
|
||||
/// }
|
||||
/// ]
|
||||
/// },
|
||||
/// {
|
||||
/// 'protocol': 1, # u64 Representation of ProtocolIdentifier::SDP
|
||||
/// 'params': [{
|
||||
/// 'data': 0x0019
|
||||
/// }]
|
||||
/// }
|
||||
/// ]
|
||||
//~^ ERROR: doc list item missing indentation
|
||||
fn eight() {}
|
||||
|
|
|
@ -40,3 +40,38 @@ fn six() {}
|
|||
///
|
||||
/// this is not a lazy continuation
|
||||
fn seven() {}
|
||||
|
||||
#[rustfmt::skip]
|
||||
// https://github.com/rust-lang/rust-clippy/pull/12770#issuecomment-2118601768
|
||||
/// Returns a list of ProtocolDescriptors from a Serde JSON input.
|
||||
///
|
||||
/// Defined Protocol Identifiers for the Protocol Descriptor
|
||||
/// We intentionally omit deprecated profile identifiers.
|
||||
/// From Bluetooth Assigned Numbers:
|
||||
/// https://www.bluetooth.com/specifications/assigned-numbers/service-discovery
|
||||
///
|
||||
/// # Arguments
|
||||
/// * `protocol_descriptors`: A Json Representation of the ProtocolDescriptors
|
||||
/// to set up. Example:
|
||||
/// 'protocol_descriptors': [
|
||||
//~^ ERROR: doc list item missing indentation
|
||||
/// {
|
||||
/// 'protocol': 25, # u64 Representation of ProtocolIdentifier::AVDTP
|
||||
/// 'params': [
|
||||
/// {
|
||||
/// 'data': 0x0103 # to indicate 1.3
|
||||
/// },
|
||||
/// {
|
||||
/// 'data': 0x0105 # to indicate 1.5
|
||||
/// }
|
||||
/// ]
|
||||
/// },
|
||||
/// {
|
||||
/// 'protocol': 1, # u64 Representation of ProtocolIdentifier::SDP
|
||||
/// 'params': [{
|
||||
/// 'data': 0x0019
|
||||
/// }]
|
||||
/// }
|
||||
/// ]
|
||||
//~^ ERROR: doc list item missing indentation
|
||||
fn eight() {}
|
||||
|
|
|
@ -108,5 +108,29 @@ help: indent this line
|
|||
LL | /// and so should this
|
||||
| ++
|
||||
|
||||
error: aborting due to 9 previous errors
|
||||
error: doc list item missing indentation
|
||||
--> tests/ui/doc/doc_lazy_list.rs:56:5
|
||||
|
|
||||
LL | /// 'protocol_descriptors': [
|
||||
| ^
|
||||
|
|
||||
= help: if this is supposed to be its own paragraph, add a blank line
|
||||
help: indent this line
|
||||
|
|
||||
LL | /// 'protocol_descriptors': [
|
||||
| +
|
||||
|
||||
error: doc list item missing indentation
|
||||
--> tests/ui/doc/doc_lazy_list.rs:75:5
|
||||
|
|
||||
LL | /// ]
|
||||
| ^
|
||||
|
|
||||
= help: if this is supposed to be its own paragraph, add a blank line
|
||||
help: indent this line
|
||||
|
|
||||
LL | /// ]
|
||||
| +
|
||||
|
||||
error: aborting due to 11 previous errors
|
||||
|
||||
|
|
Loading…
Reference in a new issue