1
Fork 0

Introduce DotDotPos.

This shrinks `hir::Pat` from 88 to 72 bytes.
This commit is contained in:
Nicholas Nethercote 2022-09-01 13:29:57 +10:00
parent 4314615ff8
commit e67f39f8bc
15 changed files with 85 additions and 47 deletions

View file

@ -1761,7 +1761,8 @@ impl<'a> State<'a> {
PatKind::TupleStruct(ref qpath, elts, ddpos) => {
self.print_qpath(qpath, true);
self.popen();
if let Some(ddpos) = ddpos {
if let Some(ddpos) = ddpos.as_opt_usize() {
let ddpos = ddpos as usize;
self.commasep(Inconsistent, &elts[..ddpos], |s, p| s.print_pat(p));
if ddpos != 0 {
self.word_space(",");
@ -1804,7 +1805,7 @@ impl<'a> State<'a> {
}
PatKind::Tuple(elts, ddpos) => {
self.popen();
if let Some(ddpos) = ddpos {
if let Some(ddpos) = ddpos.as_opt_usize() {
self.commasep(Inconsistent, &elts[..ddpos], |s, p| s.print_pat(p));
if ddpos != 0 {
self.word_space(",");