rust/tests/ui/proc-macro/span-absolute-posititions.rs
2024-02-16 20:02:50 +00:00

25 lines
910 B
Rust

//@ aux-build:assert-span-pos.rs
// ignore-tidy-tab
extern crate assert_span_pos;
assert_span_pos::assert_span_pos!(5, 35);
// Test space indentation
assert_span_pos::assert_span_pos!(8, 39);
// Test tab indentation
assert_span_pos::assert_span_pos!(10, 36);
// Two tests to ensure the promise of the docs that the column is the number
// of UTF-8 bytes instead of some other number like number of code points.
// Test that multi byte UTF-8 characters indeed count as multiple bytes
/*🌈*/assert_span_pos::assert_span_pos!(16, 40);
// Test with a complete grapheme cluster
/*🏳️‍🌈*/assert_span_pos::assert_span_pos!(18, 43);
// Test that the macro actually emits an error on a mismatch:
assert_span_pos::assert_span_pos!(0, 35); //~ ERROR line/column mismatch: (0, 35) != (21, 35)
assert_span_pos::assert_span_pos!(22, 0); //~ ERROR line/column mismatch: (22, 0) != (22, 35)
fn main() {}