error[E0308]: mismatched types
  --> $DIR/issue-16338.rs:9:9
   |
LL |     let Slice { data: data, len: len } = "foo";
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ----- this expression has type `&str`
   |         |
   |         expected `str`, found `Slice<_>`
   |
   = note: expected type `str`
            found struct `Slice<_>`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0308`.
