mirror of
https://github.com/nushell/nushell.git
synced 2025-06-30 14:40:06 +02:00
Protocol: debug_assert!() Span to reflect a valid slice (#6806)
Also enforce this by #[non_exhaustive] span such that going forward we cannot, in debug builds (1), construct invalid spans. The motivation for this stems from #6431 where I've seen crashes due to invalid slice indexing. My hope is this will mitigate such senarios 1. https://github.com/nushell/nushell/pull/6431#issuecomment-1278147241 # Description (description of your pull request here) # Tests Make sure you've done the following: - [ ] Add tests that cover your changes, either in the command examples, the crate/tests folder, or in the /tests folder. - [ ] Try to think about corner cases and various ways how your changes could break. Cover them with tests. - [ ] If adding tests is not possible, please document in the PR body a minimal example with steps on how to reproduce so one can verify your change works. Make sure you've run and fixed any issues with these commands: - [x] `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - [ ] `cargo clippy --workspace --features=extra -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - [ ] `cargo test --workspace --features=extra` to check that all the tests pass # Documentation - [ ] If your PR touches a user-facing nushell feature then make sure that there is an entry in the documentation (https://github.com/nushell/nushell.github.io) for the feature, and update it if necessary.
This commit is contained in:
committed by
GitHub
parent
e6cf18ea43
commit
850ecf648a
@ -18,7 +18,7 @@ fn lex_newline() {
|
||||
|
||||
assert!(output.0.contains(&Token {
|
||||
contents: TokenContents::Eol,
|
||||
span: Span { start: 11, end: 12 }
|
||||
span: Span::new(11, 12)
|
||||
}));
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ fn lex_parenthesis() {
|
||||
output.0.get(3).unwrap(),
|
||||
&Token {
|
||||
contents: TokenContents::Item,
|
||||
span: Span { start: 8, end: 27 }
|
||||
span: Span::new(8, 27)
|
||||
}
|
||||
);
|
||||
}
|
||||
@ -58,7 +58,7 @@ fn lex_comment() {
|
||||
output.0.get(4).unwrap(),
|
||||
&Token {
|
||||
contents: TokenContents::Comment,
|
||||
span: Span { start: 12, end: 24 }
|
||||
span: Span::new(12, 24)
|
||||
}
|
||||
);
|
||||
}
|
||||
@ -108,14 +108,14 @@ fn lex_comments() {
|
||||
output.0.get(4).unwrap(),
|
||||
&Token {
|
||||
contents: TokenContents::Comment,
|
||||
span: Span { start: 10, end: 19 }
|
||||
span: Span::new(10, 19)
|
||||
}
|
||||
);
|
||||
assert_eq!(
|
||||
output.0.get(5).unwrap(),
|
||||
&Token {
|
||||
contents: TokenContents::Eol,
|
||||
span: Span { start: 19, end: 20 }
|
||||
span: Span::new(19, 20)
|
||||
}
|
||||
);
|
||||
|
||||
@ -125,14 +125,14 @@ fn lex_comments() {
|
||||
output.0.get(10).unwrap(),
|
||||
&Token {
|
||||
contents: TokenContents::Comment,
|
||||
span: Span { start: 31, end: 40 }
|
||||
span: Span::new(31, 40)
|
||||
}
|
||||
);
|
||||
assert_eq!(
|
||||
output.0.get(11).unwrap(),
|
||||
&Token {
|
||||
contents: TokenContents::Eol,
|
||||
span: Span { start: 40, end: 41 }
|
||||
span: Span::new(40, 41)
|
||||
}
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user