fix(span): Enable span properly to fix build failure with `span` feature disabled (#120)

This commit is contained in:
YOSHIOKA Takuma 2025-03-31 06:37:56 +09:00 committed by GitHub
parent 6e61b54fae
commit c904e025a2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 38 additions and 22 deletions

View File

@ -579,24 +579,30 @@ mod test {
); );
let entry: KdlEntry = " \\\n (\"m\\\"eh\")0xDEADbeef\t\\\n".parse()?; let entry: KdlEntry = " \\\n (\"m\\\"eh\")0xDEADbeef\t\\\n".parse()?;
let mut ty: KdlIdentifier = "\"m\\\"eh\"".parse()?; #[cfg_attr(not(feature = "span"), allow(unused_mut))]
ty.span = (5..12).into(); {
assert_eq!( let mut ty: KdlIdentifier = "\"m\\\"eh\"".parse()?;
entry, #[cfg(feature = "span")]
KdlEntry { {
ty: Some(ty), ty.span = (5..12).into();
value: KdlValue::Integer(0xdeadbeef),
name: None,
format: Some(KdlEntryFormat {
leading: " \\\n ".into(),
trailing: "\t\\\n".into(),
value_repr: "0xDEADbeef".into(),
..Default::default()
}),
#[cfg(feature = "span")]
span: SourceSpan::from(0..26),
} }
); assert_eq!(
entry,
KdlEntry {
ty: Some(ty),
value: KdlValue::Integer(0xdeadbeef),
name: None,
format: Some(KdlEntryFormat {
leading: " \\\n ".into(),
trailing: "\t\\\n".into(),
value_repr: "0xDEADbeef".into(),
..Default::default()
}),
#[cfg(feature = "span")]
span: SourceSpan::from(0..26),
}
);
}
let entry: KdlEntry = " \\\n \"foo\"=(\"m\\\"eh\")0xDEADbeef\t\\\n".parse()?; let entry: KdlEntry = " \\\n \"foo\"=(\"m\\\"eh\")0xDEADbeef\t\\\n".parse()?;
assert_eq!( assert_eq!(

View File

@ -439,11 +439,13 @@ fn test_node() {
name: KdlIdentifier { name: KdlIdentifier {
value: "foo".into(), value: "foo".into(),
repr: Some("foo".into()), repr: Some("foo".into()),
#[cfg(feature = "span")]
span: (0..3).into() span: (0..3).into()
}, },
entries: vec![], entries: vec![],
children: None, children: None,
format: Some(Default::default()), format: Some(Default::default()),
#[cfg(feature = "span")]
span: (0..7).into() span: (0..7).into()
} }
); );
@ -455,6 +457,7 @@ fn test_node() {
name: KdlIdentifier { name: KdlIdentifier {
value: "foo".into(), value: "foo".into(),
repr: Some("foo".into()), repr: Some("foo".into()),
#[cfg(feature = "span")]
span: (0..3).into() span: (0..3).into()
}, },
entries: vec![KdlEntry { entries: vec![KdlEntry {
@ -466,12 +469,14 @@ fn test_node() {
leading: " ".into(), leading: " ".into(),
..Default::default() ..Default::default()
}), }),
#[cfg(feature = "span")]
span: SourceSpan::new(3.into(), 4) span: SourceSpan::new(3.into(), 4)
}], }],
children: None, children: None,
format: Some(KdlNodeFormat { format: Some(KdlNodeFormat {
..Default::default() ..Default::default()
}), }),
#[cfg(feature = "span")]
span: (0..8).into() span: (0..8).into()
} }
); );
@ -552,7 +557,6 @@ fn node_entry(input: &mut Input<'_>) -> PResult<Option<KdlEntry>> {
fmt.after_key = after_key.into(); fmt.after_key = after_key.into();
fmt.after_eq = after_eq.into(); fmt.after_eq = after_eq.into();
} }
#[cfg(feature = "span")]
value value
}) })
} else if let Some(ident) = maybe_ident { } else if let Some(ident) = maybe_ident {
@ -607,6 +611,7 @@ fn entry_test() {
value_repr: "bar".into(), value_repr: "bar".into(),
..Default::default() ..Default::default()
}), }),
#[cfg(feature = "span")]
span: (0..7).into() span: (0..7).into()
}) })
); );
@ -621,6 +626,7 @@ fn entry_test() {
value_repr: "foo".into(), value_repr: "foo".into(),
..Default::default() ..Default::default()
}), }),
#[cfg(feature = "span")]
span: (0..3).into() span: (0..3).into()
}) })
); );
@ -636,6 +642,7 @@ fn entry_test() {
leading: "/-foo ".into(), leading: "/-foo ".into(),
..Default::default() ..Default::default()
}), }),
#[cfg(feature = "span")]
span: (6..9).into() span: (6..9).into()
}) })
); );
@ -648,6 +655,7 @@ fn entry_test() {
name: Some(KdlIdentifier { name: Some(KdlIdentifier {
value: "bar".into(), value: "bar".into(),
repr: Some("bar".into()), repr: Some("bar".into()),
#[cfg(feature = "span")]
span: (9..12).into(), span: (9..12).into(),
}), }),
format: Some(KdlEntryFormat { format: Some(KdlEntryFormat {
@ -657,6 +665,7 @@ fn entry_test() {
after_eq: " ".into(), after_eq: " ".into(),
..Default::default() ..Default::default()
}), }),
#[cfg(feature = "span")]
span: (9..16).into() span: (9..16).into()
}) })
); );
@ -669,6 +678,7 @@ fn entry_test() {
name: Some(KdlIdentifier { name: Some(KdlIdentifier {
value: "bar".into(), value: "bar".into(),
repr: Some("bar".into()), repr: Some("bar".into()),
#[cfg(feature = "span")]
span: (12..16).into(), span: (12..16).into(),
}), }),
format: Some(KdlEntryFormat { format: Some(KdlEntryFormat {
@ -678,6 +688,7 @@ fn entry_test() {
after_eq: " ".into(), after_eq: " ".into(),
..Default::default() ..Default::default()
}), }),
#[cfg(feature = "span")]
span: (12..18).into() span: (12..18).into()
}) })
); );
@ -749,10 +760,7 @@ fn node_children(input: &mut Input<'_>) -> PResult<KdlDocument> {
.or_else(|mut e: ErrMode<KdlParseError>| { .or_else(|mut e: ErrMode<KdlParseError>| {
e = match e { e = match e {
ErrMode::Cut(mut pe) => { ErrMode::Cut(mut pe) => {
#[cfg(feature = "span")] pe.span = Some((_before_open_loc.._after_open_loc).into());
{
pe.span = Some((_before_open_loc.._after_open_loc).into());
}
ErrMode::Cut(pe) ErrMode::Cut(pe)
} }
e => return Err(e), e => return Err(e),
@ -1508,6 +1516,7 @@ mod string_tests {
KdlIdentifier { KdlIdentifier {
value: "foo".into(), value: "foo".into(),
repr: Some("foo".into()), repr: Some("foo".into()),
#[cfg(feature = "span")]
span: (0..3).into() span: (0..3).into()
} }
); );
@ -1516,6 +1525,7 @@ mod string_tests {
KdlIdentifier { KdlIdentifier {
value: "+.".into(), value: "+.".into(),
repr: Some("+.".into()), repr: Some("+.".into()),
#[cfg(feature = "span")]
span: (0..1).into() span: (0..1).into()
} }
) )