Skip to content
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

Validate builtin attributes for macro args. #88680

Merged
merged 2 commits into from
Sep 26, 2021

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Sep 6, 2021

This adds some validation for path, crate_type, and recursion_limit attributes so that they will now return an error if you attempt to pass a macro into them (such as #[path = foo!()]). Previously, the attribute would be completely ignored. These attributes are special because their values need to be known before/during expansion.

cc #87681

@rust-highfive
Copy link
Collaborator

r? @nagisa

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 6, 2021
@ehuss
Copy link
Contributor Author

ehuss commented Sep 6, 2021

I'm not too happy with this change, as it seems to add some specific validation that would probably better be part of something more general. However, attribute validation happens long after expansion, and I'm not aware of any pre-expansion validation where this could live.

@petrochenkov
Copy link
Contributor

We actually validate some built-in attributes during expansion, those that are applied to macro calls and disappear during expansion.

macro_rules! m { () => () }

#[path] // error: malformed `path` attribute input
m!();

fn main() {}

This happens in expand.rs / fn check_attributes.

You can also reuse validate_attr::check_meta if you want to get the same wording as during regular attribute validation.

@petrochenkov
Copy link
Contributor

This seems fine.
The point is to run validation before the attribute is used (that's why most uses simply ignore ill-formed attributes).
Since most attributes are used late, the validation is run soon after expansion, but for a few attributes that are used early the validation can be done immediately before use, don't see problem in that.

@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 8, 2021
@nagisa
Copy link
Member

nagisa commented Sep 10, 2021

r? @petrochenkov is much better suited to review this. But the approach and idea seems reasonable enough to me as well.

@ehuss
Copy link
Contributor Author

ehuss commented Sep 17, 2021

I'm not sure if you meant that it should check in InvocationCollector, but I liked the idea so I ran with it. WDYT?

I also fixed a minor issue with the suggested fix not checking if it was an inner attribute.

@petrochenkov petrochenkov added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Sep 17, 2021
@petrochenkov
Copy link
Contributor

Nah, I only used InvocationCollector as an example, showing that we are already checking attributes early in some cases.

I liked the initial version of the PR better, TBH.
I'd just suggest to return to it, only use validate_attr::check_meta instead of hand-rolled checking.

@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 17, 2021
@petrochenkov
Copy link
Contributor

The inner attribute fix and moving the emit_malformed_attribute logic to a separate function are good though.

@ehuss ehuss force-pushed the more-attr-validation branch from 5f8c009 to 3fffc1a Compare September 17, 2021 20:09
@ehuss
Copy link
Contributor Author

ehuss commented Sep 17, 2021

I'd just suggest to return to it, only use validate_attr::check_meta instead of hand-rolled checking.

Sure, no problem. Unfortunately, that means adding a dependency from rustc_middle to rustc_parse, which does not seem good to me?

@bjorn3
Copy link
Member

bjorn3 commented Sep 18, 2021

Can validate_attr::check_meta be moved to rustc_attr?

@petrochenkov
Copy link
Contributor

Or validate_attr::check_meta can be called in fn configure_and_expand at call site of get_recursion_limit.

…uggestion.

Moving to a dedicated function in preparation for other validation.

The suggestion given didn't consider if it was an inner attribute.
@ehuss ehuss force-pushed the more-attr-validation branch from 3fffc1a to 75f058d Compare September 25, 2021 16:03
@ehuss
Copy link
Contributor Author

ehuss commented Sep 25, 2021

Or validate_attr::check_meta can be called in fn configure_and_expand at call site of get_recursion_limit.

Sure, I updated it to do the check in configure_and_expand.

@petrochenkov
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Sep 25, 2021

📌 Commit 75f058d has been approved by petrochenkov

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Sep 25, 2021
@bors
Copy link
Contributor

bors commented Sep 26, 2021

⌛ Testing commit 75f058d with merge 065a2df26aa956cf9e6548f5f53b838794de7611...

@bors
Copy link
Contributor

bors commented Sep 26, 2021

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 26, 2021
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-msvc-cargo failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test test_frequency::prop_frequency_indexed ... ok

failures:

---- test_cat::prop_cat_rows stdout ----
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-6]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-14]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-21]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-29]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-35]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-43]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-49]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-57]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-63]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-71]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-77]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-88]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-95]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-101]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-110]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-115]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-124]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-130]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-138]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-144]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-152]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-158]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-166]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-172]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-181]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-188]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-196]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-204]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-211]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-219]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-225]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-233]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-240]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-248]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-254]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-262]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-268]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-278]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-284]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-293]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-299]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-307]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-313]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-321]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-329]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-335]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-344]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-350]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-360]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-366]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-375]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-381]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-389]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-395]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-403]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[113, 236, 169, 146, 243, 152, 176, 164], [194, 160, 19], [216, 133, 93], [78]], [[], [211, 152], [47], [81]], [[114, 3, 33], [], [43, 45, 242, 160, 190, 141, 44], []], [[113, 194, 157], [4], [55, 92, 10], [194, 173, 229, 167, 185]], [[194, 133, 34, 33], [], [], [92, 92, 227, 176, 145, 70]], [[21], [59, 20, 96], [], [48]], [[54, 103, 239, 154, 145], [94, 74], [32, 224, 174, 167, 194, 167, 109], []], [[15, 64], [37], [], []], [[], [58, 59, 240, 157, 133, 179, 123], [194, 129, 244, 135, 147, 139], [15]], [[54, 239, 191, 180], [5, 239, 191, 178], [32, 78, 57, 226, 129, 164], [194, 129, 65]], [[56, 244, 143, 191, 189, 116], [227, 180, 181, 45], [], [31, 102]], [[230, 185, 147, 35], [79, 34, 26], [62, 52, 92, 194, 133], [194, 147, 8, 20]], [[239, 191, 186, 50, 194, 139, 233, 131, 174], [194, 160, 11, 19], [21], [242, 150, 166, 140, 40, 194, 138]], [[95, 39, 25], [60, 226, 128, 157, 228, 128, 185], [194, 158], []], [[24, 233, 153, 165], [240, 158, 185, 128], [44], []], [[56, 234, 128, 131], [], [194, 152], []], [[243, 171, 136, 183, 126], [126, 9, 95, 216, 156], [226, 128, 137, 226, 128, 189], [239, 191, 186, 73, 95, 228, 149, 174]], [[121], [10, 123, 55, 194, 130], [25, 194, 139], [101]], [[228, 173, 191, 80], [240, 186, 166, 171], [10, 64, 9, 91], [92, 124, 47]], [[], [194, 167, 121, 194, 167], [34, 63, 124], [98, 194, 164, 105]], [[107], [92, 243, 191, 191, 189], [], [48, 124]], [[226, 129, 171, 37, 243, 172, 131, 169], [], [225, 135, 175, 49, 21, 231, 153, 169], []], [[], [194, 174, 63], [], [91, 4, 94, 9]], [[], [118, 47], [76, 39, 96], [233, 182, 176, 96]], [[], [], [50, 194, 146, 32], [4]], [[53, 26, 56], [12], [57, 194, 151, 194, 174], [43, 68, 239, 191, 188, 93]], [[60, 84, 194, 168], [], [197, 137, 32], [194, 138, 61]], [[121, 194, 171, 60], [], [28, 242, 139, 151, 189], [119, 232, 171, 144, 24, 194, 138]], [[243, 191, 191, 191, 60], [33, 77], [], [243, 140, 186, 167, 17]], [[], [111, 226, 129, 155], [58, 9, 243, 160, 128, 129], [94, 83]], [[], [194, 160, 242, 179, 191, 167, 226, 128, 159, 94], [228, 163, 130, 236, 172, 189, 32, 194, 144], [238, 152, 142, 47]], [[], [9, 123, 94], [70, 194, 167, 227, 186, 182, 234, 167, 152], [197, 137]], [[95, 73], [32, 236, 161, 162], [243, 176, 145, 164], [237, 154, 150, 60]], [[194, 158, 31, 94, 127], [], [10, 125, 53, 239, 191, 180], []], [[43, 194, 132, 226, 129, 133, 194, 155], [243, 160, 128, 129, 126, 57], [], [2, 10]], [[], [], [23, 36, 239, 191, 179, 6], [239, 191, 190]], [[43, 89, 31, 194, 172], [113], [78, 243, 165, 169, 183, 106, 194, 168], [226, 128, 149, 52]], [[226, 128, 146, 32, 55], [], [91, 225, 186, 164, 48], []], [[232, 146, 141, 235, 189, 170], [0, 205, 175], [52, 106, 116], [66, 17]], [[], [21, 44], [54], [87, 50]], [[241, 131, 189, 189, 96], [194, 161, 122, 102, 76], [194, 128, 32], [32, 226, 128, 169, 241, 188, 189, 191, 76]], [[], [229, 185, 185, 243, 172, 176, 152, 239, 191, 189], [100, 216, 156], [194, 171, 127]], [[238, 172, 164, 194, 153, 32, 62], [], [124, 46, 194, 163, 229, 148, 162], [35, 47]], [[39, 107], [125, 57], [216, 129], [232, 187, 128, 39]], [[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[33, 234, 186, 163], [], [43, 110, 197, 137, 226, 128, 182], [216, 149, 39]], [[], [37, 91], [124], []], [[194, 175, 34, 226, 129, 163], [49, 227, 128, 128, 194, 153], [237, 148, 142], [194, 156, 242, 158, 128, 167]], [[226, 159, 178, 26], [], [194, 168], [38, 45, 236, 132, 146, 28]], [[34], [194, 156, 14, 244, 143, 191, 189, 93], [39, 49, 194, 164], []], [[32, 240, 170, 143, 142, 46, 43], [], [50, 9, 47], [226, 128, 136]], [[194, 141], [], [194, 142], [49]], [[61, 124, 89, 57], [194, 136, 194, 166, 38], [126, 242, 166, 154, 146], []], [[37, 80], [9, 216, 131], [194, 157, 43, 127, 113], [43]], [[239, 191, 178, 229, 132, 146, 0, 194, 160], [194, 171], [10], [194, 165, 239, 191, 186, 226, 136, 152]], [[], [], [122, 104, 39], []], [[58, 51, 194, 154, 56], [194, 157, 21], [81, 38], [216, 132, 126]], [[], [233, 134, 142, 98, 226, 128, 143, 127], [194, 163, 59], [242, 160, 169, 179]], [[], [227, 155, 136, 14, 109, 53], [114, 104], [234, 187, 180, 227, 184, 139, 42]], [[235, 181, 180, 194, 136, 56], [], [], [194, 140, 243, 151, 159, 131, 56, 194, 139]], [[63], [33, 89, 239, 191, 185], [], []], [[91, 239, 191, 185, 93], [194, 130, 240, 156, 152, 140, 194, 149, 243, 147, 188, 158], [126, 227, 144, 129, 42, 58], []], [[241, 182, 183, 189], [17, 58], [40, 113, 72, 53], [227, 128, 128, 105, 194, 173, 226, 128, 143]], [[], [], [220, 143], [226, 128, 138, 47, 216, 129]], [[226, 128, 169, 35, 42], [226, 128, 189, 17, 36, 8], [226, 128, 140, 40, 62], [194, 130, 118, 125, 73]], [[], [226, 129, 132], [49, 29], [12, 3]], [[], [240, 191, 185, 188, 60, 57], [7, 240, 155, 149, 155], []], [[], [243, 141, 162, 136], [244, 128, 128, 128], []], [[32, 194, 161], [63, 112, 239, 168, 137], [61, 93, 115, 43], [118, 60, 244, 143, 191, 190, 116]], [[], [54], [25], [194, 138, 0]], [[194, 168, 243, 178, 155, 187], [194, 157], [], [9]], [[21, 92, 99], [], [241, 167, 189, 158, 47], [108, 194, 156, 242, 154, 178, 144]], [[43, 94], [], [51], [240, 190, 155, 150, 43, 66]], [[54, 124], [226, 129, 164, 1], [37, 241, 151, 143, 182, 66], []], [[34, 9, 45], [103, 194, 132, 76], [], []], [[70], [194, 131, 53], [116, 194, 136, 33], [126, 14, 61]], [[], [93, 51], [], []], [[26], [], [241, 146, 162, 138, 41], [226, 129, 145, 228, 137, 163]], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`,
 right: `CsvData { data: [[[113, 236, 169, 146, 243, 152, 176, 164], [194, 160, 19], [216, 133, 93], [78]], [[], [211, 152], [47], [81]], [[114, 3, 33], [], [43, 45, 242, 160, 190, 141, 44], []], [[113, 194, 157], [4], [55, 92, 10], [194, 173, 229, 167, 185]], [[194, 133, 34, 33], [], [], [92, 92, 227, 176, 145, 70]], [[21], [59, 20, 96], [], [48]], [[54, 103, 239, 154, 145], [94, 74], [32, 224, 174, 167, 194, 167, 109], []], [[15, 64], [37], [], []], [[], [58, 59, 240, 157, 133, 179, 123], [194, 129, 244, 135, 147, 139], [15]], [[54, 239, 191, 180], [5, 239, 191, 178], [32, 78, 57, 226, 129, 164], [194, 129, 65]], [[56, 244, 143, 191, 189, 116], [227, 180, 181, 45], [], [31, 102]], [[230, 185, 147, 35], [79, 34, 26], [62, 52, 92, 194, 133], [194, 147, 8, 20]], [[239, 191, 186, 50, 194, 139, 233, 131, 174], [194, 160, 11, 19], [21], [242, 150, 166, 140, 40, 194, 138]], [[95, 39, 25], [60, 226, 128, 157, 228, 128, 185], [194, 158], []], [[24, 233, 153, 165], [240, 158, 185, 128], [44], []], [[56, 234, 128, 131], [], [194, 152], []], [[243, 171, 136, 183, 126], [126, 9, 95, 216, 156], [226, 128, 137, 226, 128, 189], [239, 191, 186, 73, 95, 228, 149, 174]], [[121], [10, 123, 55, 194, 130], [25, 194, 139], [101]], [[228, 173, 191, 80], [240, 186, 166, 171], [10, 64, 9, 91], [92, 124, 47]], [[], [194, 167, 121, 194, 167], [34, 63, 124], [98, 194, 164, 105]], [[107], [92, 243, 191, 191, 189], [], [48, 124]], [[226, 129, 171, 37, 243, 172, 131, 169], [], [225, 135, 175, 49, 21, 231, 153, 169], []], [[], [194, 174, 63], [], [91, 4, 94, 9]], [[], [118, 47], [76, 39, 96], [233, 182, 176, 96]], [[], [], [50, 194, 146, 32], [4]], [[53, 26, 56], [12], [57, 194, 151, 194, 174], [43, 68, 239, 191, 188, 93]], [[60, 84, 194, 168], [], [197, 137, 32], [194, 138, 61]], [[121, 194, 171, 60], [], [28, 242, 139, 151, 189], [119, 232, 171, 144, 24, 194, 138]], [[243, 191, 191, 191, 60], [33, 77], [], [243, 140, 186, 167, 17]], [[], [111, 226, 129, 155], [58, 9, 243, 160, 128, 129], [94, 83]], [[], [194, 160, 242, 179, 191, 167, 226, 128, 159, 94], [228, 163, 130, 236, 172, 189, 32, 194, 144], [238, 152, 142, 47]], [[], [9, 123, 94], [70, 194, 167, 227, 186, 182, 234, 167, 152], [197, 137]], [[95, 73], [32, 236, 161, 162], [243, 176, 145, 164], [237, 154, 150, 60]], [[194, 158, 31, 94, 127], [], [10, 125, 53, 239, 191, 180], []], [[43, 194, 132, 226, 129, 133, 194, 155], [243, 160, 128, 129, 126, 57], [], [2, 10]], [[], [], [23, 36, 239, 191, 179, 6], [239, 191, 190]], [[43, 89, 31, 194, 172], [113], [78, 243, 165, 169, 183, 106, 194, 168], [226, 128, 149, 52]], [[226, 128, 146, 32, 55], [], [91, 225, 186, 164, 48], []], [[232, 146, 141, 235, 189, 170], [0, 205, 175], [52, 106, 116], [66, 17]], [[], [21, 44], [54], [87, 50]], [[241, 131, 189, 189, 96], [194, 161, 122, 102, 76], [194, 128, 32], [32, 226, 128, 169, 241, 188, 189, 191, 76]], [[], [229, 185, 185, 243, 172, 176, 152, 239, 191, 189], [100, 216, 156], [194, 171, 127]], [[238, 172, 164, 194, 153, 32, 62], [], [124, 46, 194, 163, 229, 148, 162], [35, 47]], [[39, 107], [125, 57], [216, 129], [232, 187, 128, 39]], [[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[33, 234, 186, 163], [], [43, 110, 197, 137, 226, 128, 182], [216, 149, 39]], [[], [37, 91], [124], []], [[194, 175, 34, 226, 129, 163], [49, 227, 128, 128, 194, 153], [237, 148, 142], [194, 156, 242, 158, 128, 167]], [[226, 159, 178, 26], [], [194, 168], [38, 45, 236, 132, 146, 28]], [[34], [194, 156, 14, 244, 143, 191, 189, 93], [39, 49, 194, 164], []], [[32, 240, 170, 143, 142, 46, 43], [], [50, 9, 47], [226, 128, 136]], [[194, 141], [], [194, 142], [49]], [[61, 124, 89, 57], [194, 136, 194, 166, 38], [126, 242, 166, 154, 146], []], [[37, 80], [9, 216, 131], [194, 157, 43, 127, 113], [43]], [[239, 191, 178, 229, 132, 146, 0, 194, 160], [194, 171], [10], [194, 165, 239, 191, 186, 226, 136, 152]], [[], [], [122, 104, 39], []], [[58, 51, 194, 154, 56], [194, 157, 21], [81, 38], [216, 132, 126]], [[], [233, 134, 142, 98, 226, 128, 143, 127], [194, 163, 59], [242, 160, 169, 179]], [[], [227, 155, 136, 14, 109, 53], [114, 104], [234, 187, 180, 227, 184, 139, 42]], [[235, 181, 180, 194, 136, 56], [], [], [194, 140, 243, 151, 159, 131, 56, 194, 139]], [[63], [33, 89, 239, 191, 185], [], []], [[91, 239, 191, 185, 93], [194, 130, 240, 156, 152, 140, 194, 149, 243, 147, 188, 158], [126, 227, 144, 129, 42, 58], []], [[241, 182, 183, 189], [17, 58], [40, 113, 72, 53], [227, 128, 128, 105, 194, 173, 226, 128, 143]], [[], [], [220, 143], [226, 128, 138, 47, 216, 129]], [[226, 128, 169, 35, 42], [226, 128, 189, 17, 36, 8], [226, 128, 140, 40, 62], [194, 130, 118, 125, 73]], [[], [226, 129, 132], [49, 29], [12, 3]], [[], [240, 191, 185, 188, 60, 57], [7, 240, 155, 149, 155], []], [[], [243, 141, 162, 136], [244, 128, 128, 128], []], [[32, 194, 161], [63, 112, 239, 168, 137], [61, 93, 115, 43], [118, 60, 244, 143, 191, 190, 116]], [[], [54], [25], [194, 138, 0]], [[194, 168, 243, 178, 155, 187], [194, 157], [], [9]], [[21, 92, 99], [], [241, 167, 189, 158, 47], [108, 194, 156, 242, 154, 178, 144]], [[43, 94], [], [51], [240, 190, 155, 150, 43, 66]], [[54, 124], [226, 129, 164, 1], [37, 241, 151, 143, 182, 66], []], [[34, 9, 45], [103, 194, 132, 76], [], []], [[70], [194, 131, 53], [116, 194, 136, 33], [126, 14, 61]], [[], [93, 51], [], []], [[26], [], [241, 146, 162, 138, 41], [226, 129, 145, 228, 137, 163]], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`', tests\test_cat.rs:39:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-458]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-465]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[33, 234, 186, 163], [], [43, 110, 197, 137, 226, 128, 182], [216, 149, 39]], [[], [37, 91], [124], []], [[194, 175, 34, 226, 129, 163], [49, 227, 128, 128, 194, 153], [237, 148, 142], [194, 156, 242, 158, 128, 167]], [[226, 159, 178, 26], [], [194, 168], [38, 45, 236, 132, 146, 28]], [[34], [194, 156, 14, 244, 143, 191, 189, 93], [39, 49, 194, 164], []], [[32, 240, 170, 143, 142, 46, 43], [], [50, 9, 47], [226, 128, 136]], [[194, 141], [], [194, 142], [49]], [[61, 124, 89, 57], [194, 136, 194, 166, 38], [126, 242, 166, 154, 146], []], [[37, 80], [9, 216, 131], [194, 157, 43, 127, 113], [43]], [[239, 191, 178, 229, 132, 146, 0, 194, 160], [194, 171], [10], [194, 165, 239, 191, 186, 226, 136, 152]], [[], [], [122, 104, 39], []], [[58, 51, 194, 154, 56], [194, 157, 21], [81, 38], [216, 132, 126]], [[], [233, 134, 142, 98, 226, 128, 143, 127], [194, 163, 59], [242, 160, 169, 179]], [[], [227, 155, 136, 14, 109, 53], [114, 104], [234, 187, 180, 227, 184, 139, 42]], [[235, 181, 180, 194, 136, 56], [], [], [194, 140, 243, 151, 159, 131, 56, 194, 139]], [[63], [33, 89, 239, 191, 185], [], []], [[91, 239, 191, 185, 93], [194, 130, 240, 156, 152, 140, 194, 149, 243, 147, 188, 158], [126, 227, 144, 129, 42, 58], []], [[241, 182, 183, 189], [17, 58], [40, 113, 72, 53], [227, 128, 128, 105, 194, 173, 226, 128, 143]], [[], [], [220, 143], [226, 128, 138, 47, 216, 129]], [[226, 128, 169, 35, 42], [226, 128, 189, 17, 36, 8], [226, 128, 140, 40, 62], [194, 130, 118, 125, 73]], [[], [226, 129, 132], [49, 29], [12, 3]], [[], [240, 191, 185, 188, 60, 57], [7, 240, 155, 149, 155], []], [[], [243, 141, 162, 136], [244, 128, 128, 128], []], [[32, 194, 161], [63, 112, 239, 168, 137], [61, 93, 115, 43], [118, 60, 244, 143, 191, 190, 116]], [[], [54], [25], [194, 138, 0]], [[194, 168, 243, 178, 155, 187], [194, 157], [], [9]], [[21, 92, 99], [], [241, 167, 189, 158, 47], [108, 194, 156, 242, 154, 178, 144]], [[43, 94], [], [51], [240, 190, 155, 150, 43, 66]], [[54, 124], [226, 129, 164, 1], [37, 241, 151, 143, 182, 66], []], [[34, 9, 45], [103, 194, 132, 76], [], []], [[70], [194, 131, 53], [116, 194, 136, 33], [126, 14, 61]], [[], [93, 51], [], []], [[26], [], [241, 146, 162, 138, 41], [226, 129, 145, 228, 137, 163]], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[33, 234, 186, 163], [], [43, 110, 197, 137, 226, 128, 182], [216, 149, 39]], [[], [37, 91], [124], []], [[194, 175, 34, 226, 129, 163], [49, 227, 128, 128, 194, 153], [237, 148, 142], [194, 156, 242, 158, 128, 167]], [[226, 159, 178, 26], [], [194, 168], [38, 45, 236, 132, 146, 28]], [[34], [194, 156, 14, 244, 143, 191, 189, 93], [39, 49, 194, 164], []], [[32, 240, 170, 143, 142, 46, 43], [], [50, 9, 47], [226, 128, 136]], [[194, 141], [], [194, 142], [49]], [[61, 124, 89, 57], [194, 136, 194, 166, 38], [126, 242, 166, 154, 146], []], [[37, 80], [9, 216, 131], [194, 157, 43, 127, 113], [43]], [[239, 191, 178, 229, 132, 146, 0, 194, 160], [194, 171], [10], [194, 165, 239, 191, 186, 226, 136, 152]], [[], [], [122, 104, 39], []], [[58, 51, 194, 154, 56], [194, 157, 21], [81, 38], [216, 132, 126]], [[], [233, 134, 142, 98, 226, 128, 143, 127], [194, 163, 59], [242, 160, 169, 179]], [[], [227, 155, 136, 14, 109, 53], [114, 104], [234, 187, 180, 227, 184, 139, 42]], [[235, 181, 180, 194, 136, 56], [], [], [194, 140, 243, 151, 159, 131, 56, 194, 139]], [[63], [33, 89, 239, 191, 185], [], []], [[91, 239, 191, 185, 93], [194, 130, 240, 156, 152, 140, 194, 149, 243, 147, 188, 158], [126, 227, 144, 129, 42, 58], []], [[241, 182, 183, 189], [17, 58], [40, 113, 72, 53], [227, 128, 128, 105, 194, 173, 226, 128, 143]], [[], [], [220, 143], [226, 128, 138, 47, 216, 129]], [[226, 128, 169, 35, 42], [226, 128, 189, 17, 36, 8], [226, 128, 140, 40, 62], [194, 130, 118, 125, 73]], [[], [226, 129, 132], [49, 29], [12, 3]], [[], [240, 191, 185, 188, 60, 57], [7, 240, 155, 149, 155], []], [[], [243, 141, 162, 136], [244, 128, 128, 128], []], [[32, 194, 161], [63, 112, 239, 168, 137], [61, 93, 115, 43], [118, 60, 244, 143, 191, 190, 116]], [[], [54], [25], [194, 138, 0]], [[194, 168, 243, 178, 155, 187], [194, 157], [], [9]], [[21, 92, 99], [], [241, 167, 189, 158, 47], [108, 194, 156, 242, 154, 178, 144]], [[43, 94], [], [51], [240, 190, 155, 150, 43, 66]], [[54, 124], [226, 129, 164, 1], [37, 241, 151, 143, 182, 66], []], [[34, 9, 45], [103, 194, 132, 76], [], []], [[70], [194, 131, 53], [116, 194, 136, 33], [126, 14, 61]], [[], [93, 51], [], []], [[26], [], [241, 146, 162, 138, 41], [226, 129, 145, 228, 137, 163]], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-483]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-491]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-498]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[33, 234, 186, 163], [], [43, 110, 197, 137, 226, 128, 182], [216, 149, 39]], [[], [37, 91], [124], []], [[194, 175, 34, 226, 129, 163], [49, 227, 128, 128, 194, 153], [237, 148, 142], [194, 156, 242, 158, 128, 167]], [[226, 159, 178, 26], [], [194, 168], [38, 45, 236, 132, 146, 28]], [[34], [194, 156, 14, 244, 143, 191, 189, 93], [39, 49, 194, 164], []], [[32, 240, 170, 143, 142, 46, 43], [], [50, 9, 47], [226, 128, 136]], [[194, 141], [], [194, 142], [49]], [[61, 124, 89, 57], [194, 136, 194, 166, 38], [126, 242, 166, 154, 146], []], [[37, 80], [9, 216, 131], [194, 157, 43, 127, 113], [43]], [[239, 191, 178, 229, 132, 146, 0, 194, 160], [194, 171], [10], [194, 165, 239, 191, 186, 226, 136, 152]], [[], [], [122, 104, 39], []], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[33, 234, 186, 163], [], [43, 110, 197, 137, 226, 128, 182], [216, 149, 39]], [[], [37, 91], [124], []], [[194, 175, 34, 226, 129, 163], [49, 227, 128, 128, 194, 153], [237, 148, 142], [194, 156, 242, 158, 128, 167]], [[226, 159, 178, 26], [], [194, 168], [38, 45, 236, 132, 146, 28]], [[34], [194, 156, 14, 244, 143, 191, 189, 93], [39, 49, 194, 164], []], [[32, 240, 170, 143, 142, 46, 43], [], [50, 9, 47], [226, 128, 136]], [[194, 141], [], [194, 142], [49]], [[61, 124, 89, 57], [194, 136, 194, 166, 38], [126, 242, 166, 154, 146], []], [[37, 80], [9, 216, 131], [194, 157, 43, 127, 113], [43]], [[239, 191, 178, 229, 132, 146, 0, 194, 160], [194, 171], [10], [194, 165, 239, 191, 186, 226, 136, 152]], [[], [], [122, 104, 39], []], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-510]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-517]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-524]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]], [[59, 60, 194, 172], [60, 194, 138, 229, 181, 140, 58], [216, 128, 88], [14]], [[], [39, 9], [194, 153, 226, 164, 137, 121, 55], []], [[194, 141, 93, 36, 91], [], [], [85, 194, 135, 194, 150]], [[240, 156, 179, 142], [89, 108, 38], [60], [42, 194, 130, 34]], [[81, 194, 170], [194, 130, 194, 133], [36, 58, 243, 160, 128, 129], [194, 171, 227, 128, 128]], [[226, 129, 146, 38, 232, 150, 142, 194, 140], [226, 129, 135, 29], [239, 191, 184], [114]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-534]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-541]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-548]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]], [[22, 47, 194, 174], [], [69], [45]], [[], [], [68, 226, 129, 136, 64, 67], [46, 12, 93]], [[226, 138, 143, 194, 167], [], [29, 225, 134, 130, 95, 42], [123]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-556]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-563]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-570]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[83, 194, 155, 14, 99], [228, 160, 162, 239, 191, 188, 194, 136, 25], [194, 147, 216, 129], [16, 43, 60, 63]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-577]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-584]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-592]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
error: test failed, to rerun pass '--test tests'
thread 'main' panicked at 'tests failed for https://github.com/BurntSushi/xsv', src\tools\cargotest\main.rs:101:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  left: `CsvData { data: [[[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]], [[194, 138, 34, 226, 128, 180], [69, 194, 148, 16, 243, 148, 138, 157], [75, 48, 123, 216, 156], [235, 152, 188, 231, 132, 177]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-601]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-608]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-615]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 73, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-622]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-629]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-637]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-645]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`,
 right: `CsvData { data: [[[239, 187, 191, 216, 133], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-652]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-659]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-666]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-673]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`,
 right: `CsvData { data: [[[239, 187, 191], [226, 157, 183, 194, 152, 60], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-681]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-688]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-696]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-702]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-710]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-717]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-723]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-730]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-735]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-741]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-746]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-753]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-759]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-766]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-772]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-777]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-782]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-788]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[], [], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`,
 right: `CsvData { data: [[[239, 187, 191], [], [53, 237, 148, 141, 97, 233, 185, 134], [35]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-796]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-801]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-809]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-816]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-823]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-828]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-834]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-842]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-848]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-855]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-861]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-868]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-874]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-881]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-887]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-893]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-900]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-907]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[], [], [], [35]]] }`,
 right: `CsvData { data: [[[239, 187, 191], [], [], [35]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-912]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-919]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-925]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-932]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-938]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-946]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-951]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-959]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-965]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-973]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-979]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-986]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-992]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-999]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1005]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1012]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1019]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1026]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[], [], [], []]] }`,
 right: `CsvData { data: [[[239, 187, 191], [], [], []]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1032]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1039]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1045]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1052]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1058]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1065]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1071]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1078]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1084]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1091]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1099]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1106]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1112]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1119]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1125]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1131]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1138]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1145]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1151]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1156]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[], [], []]] }`,
 right: `CsvData { data: [[[239, 187, 191], [], []]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1164]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1170]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1177]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1185]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1190]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1197]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1202]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1208]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1215]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1221]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1229]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1235]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1241]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1247]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1253]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1259]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1265]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1271]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1277]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1283]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [[[], []]] }`,
 right: `CsvData { data: [[[239, 187, 191], []]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1291]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1297]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1303]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1309]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1317]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1322]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1331]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1337]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1344]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1350]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1357]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1363]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1370]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1376]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1382]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1389]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1397]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1404]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1411]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1417]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at 'assertion failed: `(left == right)`
  left: `CsvData { data: [] }`,
 right: `CsvData { data: [[[239, 187, 191]]] }`', tests\test_cat.rs:39:9
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1425]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1430]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1437]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1443]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1449]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1454]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1461]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1467]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1472]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1480]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1485]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1491]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1497]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1504]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1511]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1518]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
[D:\a\rust\rust\build\ct\xsv\target\debug\xit\cat_rows\test-1523]: "D:\\a\\rust\\rust\\build\\ct\\xsv\\target\\debug\\xsv" "cat" "rows" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_rows' panicked at '[quickcheck] TEST FAILED (runtime error). Arguments: (CsvData { data: [[[239, 187, 191]]] })
Error: "assertion failed: `(left == right)`\n  left: `CsvData { data: [] }`,\n right: `CsvData { data: [[[239, 187, 191]]] }`"', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\quickcheck-0.7.1\src\tester.rs:176:28

failures:
    test_cat::prop_cat_rows

@ehuss
Copy link
Contributor Author

ehuss commented Sep 26, 2021

@bors retry

Error in test_cat::prop_cat_rows is xsv, which seems unlikely to be related here. A similar issue was noted a few years ago at #65342 (comment)

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 26, 2021
@bors
Copy link
Contributor

bors commented Sep 26, 2021

⌛ Testing commit 75f058d with merge f6e6ddc...

@bors
Copy link
Contributor

bors commented Sep 26, 2021

☀️ Test successful - checks-actions
Approved by: petrochenkov
Pushing f6e6ddc to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Sep 26, 2021
@bors bors merged commit f6e6ddc into rust-lang:master Sep 26, 2021
@rustbot rustbot added this to the 1.57.0 milestone Sep 26, 2021
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (f6e6ddc): comparison url.

Summary: This benchmark run did not return any relevant changes.

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

@alex-berger
Copy link

alex-berger commented Oct 4, 2021

The following code used to compile up-to-and-including nightly-2021-09-26.

#[path = concat!(env!("OUT_DIR"), "/v1_22/mod.rs")]
mod v1_22;

And starting with nightly-2021-09-27 it fails with:

error: malformed `path` attribute input
 --> ...
  |
2 | #[path = concat!(env!("OUT_DIR"), "/v1_22/mod.rs")]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[path = "file"]`

Is this intended? What was the effect of the above path attribute before nightly-2021-09-27 (when it still compiled)?

@ehuss
Copy link
Contributor Author

ehuss commented Oct 4, 2021

The effect before was that the #[path] attribute was ignored.

Hm, so my expectation was that nobody would be using that, since the attribute is ignored and you would need a v1_22.rs file in the same directory to avoid a compilation error (and I would suspect most people would notice that it was using the wrong file). Did you maybe have a v1_22.rs or v1_22/mod.rs file that was being used instead?

We could maybe downgrade it to a future-incompatibility warning if people feel this was too aggressive.

@alex-berger
Copy link

@ehuss indeed, there is a $OUT_SIR/v1_22/model.rs in place and I guess this is why it used to work.

Personally, I am fine with this change, just wanted to understand why it used to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants