Fix building with current rust

&[T, ..n] isn't coerced to &[T] anymore, so we have to manually do that
in a few places.
No, the special rules for `let foo = &rvalue` expand the lifetime of the vector here. Those rules don't apply for `[].as_slice()` so you get a lifetime error.