@@ -43,7 +43,6 @@ mod diagnostic;
43
43
#[ unstable( feature = "proc_macro_diagnostic" , issue = "54140" ) ]
44
44
pub use diagnostic:: { Diagnostic , Level , MultiSpan } ;
45
45
46
- use std:: cmp:: Ordering ;
47
46
use std:: ops:: { Range , RangeBounds } ;
48
47
use std:: path:: PathBuf ;
49
48
use std:: str:: FromStr ;
@@ -494,28 +493,32 @@ impl Span {
494
493
self . 0 . byte_range ( )
495
494
}
496
495
497
- /// Gets the starting line/column in the source file for this span.
496
+ /// Creates an empty span pointing to directly before this span.
498
497
#[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
499
- pub fn start ( & self ) -> LineColumn {
500
- self . 0 . start ( ) . add_1_to_column ( )
498
+ pub fn start ( & self ) -> Span {
499
+ Span ( self . 0 . start ( ) )
501
500
}
502
501
503
- /// Gets the ending line/column in the source file for this span.
502
+ /// Creates an empty span pointing to directly after this span.
504
503
#[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
505
- pub fn end ( & self ) -> LineColumn {
506
- self . 0 . end ( ) . add_1_to_column ( )
504
+ pub fn end ( & self ) -> Span {
505
+ Span ( self . 0 . end ( ) )
507
506
}
508
507
509
- /// Creates an empty span pointing to directly before this span.
510
- #[ unstable( feature = "proc_macro_span_shrink" , issue = "87552" ) ]
511
- pub fn before ( & self ) -> Span {
512
- Span ( self . 0 . before ( ) )
508
+ /// The one-indexed line of the source file where the span starts.
509
+ ///
510
+ /// To obtain the line of the span's end, use `span.end().line()`.
511
+ #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
512
+ pub fn line ( & self ) -> usize {
513
+ self . 0 . line ( )
513
514
}
514
515
515
- /// Creates an empty span pointing to directly after this span.
516
- #[ unstable( feature = "proc_macro_span_shrink" , issue = "87552" ) ]
517
- pub fn after ( & self ) -> Span {
518
- Span ( self . 0 . after ( ) )
516
+ /// The one-indexed column of the source file where the span starts.
517
+ ///
518
+ /// To obtain the column of the span's end, use `span.end().column()`.
519
+ #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
520
+ pub fn column ( & self ) -> usize {
521
+ self . 0 . column ( )
519
522
}
520
523
521
524
/// Creates a new span encompassing `self` and `other`.
@@ -586,44 +589,6 @@ impl fmt::Debug for Span {
586
589
}
587
590
}
588
591
589
- /// A line-column pair representing the start or end of a `Span`.
590
- #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
591
- #[ derive( Copy , Clone , Debug , PartialEq , Eq , Hash ) ]
592
- pub struct LineColumn {
593
- /// The 1-indexed line in the source file on which the span starts or ends (inclusive).
594
- #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
595
- pub line : usize ,
596
- /// The 1-indexed column (number of bytes in UTF-8 encoding) in the source
597
- /// file on which the span starts or ends (inclusive).
598
- #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
599
- pub column : usize ,
600
- }
601
-
602
- impl LineColumn {
603
- fn add_1_to_column ( self ) -> Self {
604
- LineColumn { line : self . line , column : self . column + 1 }
605
- }
606
- }
607
-
608
- #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
609
- impl !Send for LineColumn { }
610
- #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
611
- impl !Sync for LineColumn { }
612
-
613
- #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
614
- impl Ord for LineColumn {
615
- fn cmp ( & self , other : & Self ) -> Ordering {
616
- self . line . cmp ( & other. line ) . then ( self . column . cmp ( & other. column ) )
617
- }
618
- }
619
-
620
- #[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
621
- impl PartialOrd for LineColumn {
622
- fn partial_cmp ( & self , other : & Self ) -> Option < Ordering > {
623
- Some ( self . cmp ( other) )
624
- }
625
- }
626
-
627
592
/// The source file of a given `Span`.
628
593
#[ unstable( feature = "proc_macro_span" , issue = "54725" ) ]
629
594
#[ derive( Clone ) ]
0 commit comments