Files
rust/library
Matthias Krüger 096c4958bf Rollup merge of #139865 - m-ou-se:stabilize-proc-macro-span-location, r=tgross35
Stabilize proc_macro::Span::{start,end,line,column}.

This stabilizes part of https://github.com/rust-lang/rust/issues/54725

Specifically, the part related to getting the location of a span:

```rust
impl Span {
    pub fn start(&self) -> Span; // Empty span at the start of this span
    pub fn end(&self) -> Span; // Empty span at the end of this span

    pub fn line(&self) -> usize; // Line where the span starts
    pub fn column(&self) -> usize; // Column where the span starts
}
```

History of this part of the API:

Originally, `start` and `end` returned a `LineColumn` struct (containing the line and column).

This has been simplified/changed:

- No more `LineColumn`: `Span` now directly has `.line()` and `.column()` methods. This means we can easily add `.byte_offset()` or `.byte_range()` in the future if we want to.
- `Span::start()` and `Span::end()` are now the equivalent of rustc's internal `shrink_to_lo()` and `shrink_to_hi()`. This means you can do e.g. `span.end().column()`, removing the need for a `span.end_column()` or similar.
2025-04-26 07:13:06 +02:00
..
2025-02-13 14:32:50 -08:00
2025-04-09 12:29:59 +01:00
2025-03-10 21:23:31 +08:00
2025-04-24 13:14:43 +07:00