error[E0308]: mismatched types
  --> $DIR/issue-15783.rs:8:19
   |
LL |     let msg = foo(x);
   |               --- ^ expected slice `[&str]`, found array `[&str; 1]`
   |               |
   |               arguments to this function are incorrect
   |
   = note: expected enum `Option<&[&str]>`
              found enum `Option<&[&str; 1]>`
note: function defined here
  --> $DIR/issue-15783.rs:1:8
   |
LL | pub fn foo(params: Option<&[&str]>) -> usize {
   |        ^^^ -----------------------

error: aborting due to previous error

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