panic: 'attempt to subtract with overflow'
- Dominant language
- Rust
- Stars
- 21
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
Formatting a cell containing some unicode escape characters causes a panic
**To Reproduce**
```
fn main() {
use stybulate::{Cell, Table, Style};
//let s = "foo \u{1b} bar";
let s = "\u{1b}";
let v = vec![vec![
Cell::from(s),
]];
let result = Table::new(
Style::Plain,
v,
None,
)
.tabulate();
}
```
Fails with
```
thread 'main' panicked at 'attempt to subtract with overflow', /home/mcgibbon/.cargo/registry/src/github.com-1ecc6299db9ec823/stybulate-1.1.2/src/lib.rs:368:21
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic
3: stybulate::format_unstylable
at /home/mcgibbon/.cargo/registry/src/github.com-1ecc6299db9ec823/stybulate-1.1.2/src/lib.rs:368:21
4: stybulate::create_data_lines::{{closure}}
at /home/mcgibbon/.cargo/registry/src/github.com-1ecc6299db9ec823/stybulate-1.1.2/src/lib.rs:421:17
5: core::iter::adapters::map::map_fold::{{closure}}
at /build/rustc-1.58.1-src/library/core/src/iter/adapters/map.rs:84:28
6: as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}}
at /build/rustc-1.58.1-src/library/core/src/iter/adapters/enumerate.rs:106:27
7: core::iter::traits::iterator::Iterator::fold
at /build/rustc-1.58.1-src/library/core/src/iter/traits/iterator.rs:2171:21
8: as core::iter::traits::iterator::Iterator>::fold
at /build/rustc-1.58.1-src/library/core/src/iter/adapters/enumerate.rs:112:9
9: as core::iter::traits::iterator::Iterator>::fold
at /build/rustc-1.58.1-src/library/core/src/iter/adapters/map.rs:124:9
10: core::iter::traits::iterator::Iterator::for_each
at /build/rustc-1.58.1-src/library/core/src/iter/traits/iterator.rs:737:9
11: as alloc::vec::spec_extend::SpecExtend>::spec_extend
at /build/rustc-1.58.1-src/library/alloc/src/vec/spec_extend.rs:40:17
12: as alloc::vec::spec_from_iter_nested::SpecFromIterNested>::from_iter
at /build/rustc-1.58.1-src/library/alloc/src/vec/spec_from_iter_nested.rs:56:9
13: as alloc::vec::spec_from_iter::SpecFromIter>::from_iter
at /build/rustc-1.58.1-src/library/alloc/src/vec/spec_from_iter.rs:33:9
14: as core::iter::traits::collect::FromIterator>::from_iter
at /build/rustc-1.58.1-src/library/alloc/src/vec/mod.rs:2549:9
15: core::iter::traits::iterator::Iterator::collect
at /build/rustc-1.58.1-src/library/core/src/iter/traits/iterator.rs:1745:9
16: stybulate::create_data_lines
at /home/mcgibbon/.cargo/registry/src/github.com-1ecc6299db9ec823/stybulate-1.1.2/src/lib.rs:410:33
17: stybulate::Table::tabulate
at /home/mcgibbon/.cargo/registry/src/github.com-1ecc6299db9ec823/stybulate-1.1.2/src/lib.rs:243:25
18: history::main
at ./src/main.rs:30:18
19: core::ops::function::FnOnce::call_once
at /build/rustc-1.58.1-src/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```
Toolchain: 1.58
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.