I don't think there is a difference, but the second one I don't think would have been accepted in the 2015 edition, which is probably why the source uses the first one.
I think it's better in this case to use the explicit function even with match ergonomics, because in the second version there's no difference between as_ref() and as_mut().
Lots of code in the standard library is very old. So it's pretty easy to find code that wouldn't be written the same way today -- like code doing .offset(d as isize) where today it'd be .add(d).