코드 2-12 벡터 대신 배열을 반환해 생긴 에러
error[E0308]: mismatched types
--> src/main.rs:25:9
|
25 | ["faq".to_string()],
| ^^^^^^^^^^^^^^^^^^^
expected enum `Option`,
found array of 1 element
|
= note: expected enum `Option<Vec<String>>`
found array `[String; 1]`
이것도 하나의 원인 때문에 일어난 두 개의 에러 같다. 컴파일러는 Vec이 포함된 Option 열거 타입을 예상했지만, 배열을 찾았다고 한다. docs.rs(https://doc.rust-lang.org/std/option/index.html)에서 Option을 찾아 참고하라.
코드 2-12를 보면 Some에 태그를 캡슐화해야 함을 알 수 있다. 그리고 Question 구조체 안에는 문자열 배열이 아니라 문자열 벡터가 필요함을 알 수 있다. 러스트에서 벡터와 배열이 동일하지는 않지만, 다른 언어에서의 배열 같은 기능이 필요하다면 러스트에서는 Vec을 쓴다.