Without the ~, it doesn't work. That's why I added them. I didn't think it should be there either, but maybe it has something to do with assert_eq! being a macro. Here's what happens when you remove it:

```
<std-macros>:89:35: 89:47 error: mismatched types: expected `~[~str]` but found `~[&'static str]` (str storage differs: expected ~ but found &'static )
<std-macros>:89                 if !((given_val == expected_val) && (expected_val == given_val)) {
                                                   ^~~~~~~~~~~~
<std-macros>:83:4: 94:5 note: in expansion of assert_eq!
anagram_test.rs:18:4: 18:79 note: expansion site
<std-macros>:89:69: 89:78 error: mismatched types: expected `~[&'static str]` but found `~[~str]` (str storage differs: expected &'static  but found ~)
<std-macros>:89                 if !((given_val == expected_val) && (expected_val == given_val)) {
                                                                                     ^~~~~~~~~
<std-macros>:83:4: 94:5 note: in expansion of assert_eq!
anagram_test.rs:18:4: 18:79 note: expansion site
error: aborting due to 2 previous errors
```