0.7.1 (older version) Rating: Positive Thoroughness: Medium Understanding: High by lo48576 on 2019-09-02 I have reviewed the previous version (0.7.0) and sent some patches to make the crate safer. In this version, I found no security problems and no malicious code. unsafe at line 158 is safe because both InternalStrRefs and strings referred by them are immutable, strings referred by InternalStrRefs won't be dropped until the owning interner is dropped, they have *const str referring inside private Vec<Box<str>> which is owned by the same interner, and InternalStrRefs are not taken or copied to the outside of StringInterner type. unsafe impls at line 248 and 254 is safe as commented in the source. Addresses of strings in Vec<Box<str>> is not changed until the owning interner is dropped. InternalStrRefs and their content pointers are not exposed to the users. Pointers to the strings are read-only. I think this crate is safe to use.