**Describe the bug** <!-- A clear and concise description of what the bug is. --> I tried to unpack a dict in a memory-efficient way by casting to Utf8View but got a panic. **To Reproduce** <!-- Steps to reproduce the behavior: --> ```rust let etld_values = LargeStringArray::from(vec!["com", "org", "net"]); let etld_keys = UInt32Array::from(vec![0, 1, 0, 2]); let etld: ArrayRef = Arc::new(DictionaryArray::new(etld_keys, Arc::new(etld_values))); let result = cast(&etld, &DataType::Utf8View).unwrap(); assert_eq!(result.len(), 4); dbg!(&result); ``` **Expected behavior** <!-- A clear and concise description of what you expected to happen. --> Should not panic and return a `Utf8View` (`StringViewArray`). Or should panic higher up with a better error. **Additional context** <!-- Add any other context about the problem here. -->