rust/src/libsyntax/util
bors 8e285208d5 auto merge of #12686 : FlaPer87/rust/shared, r=nikomatsakis
`Share` implies that all *reachable* content is *threadsafe*.

Threadsafe is defined as "exposing no operation that permits a data race if multiple threads have access to a &T pointer simultaneously". (NB: the type system should guarantee that if you have access to memory via a &T pointer, the only other way to gain access to that memory is through another &T pointer)...

Fixes #11781
cc #12577 

What this PR will do
================

- [x] Add Share kind and
- [x]  Replace usages of Freeze with Share in bounds.
- [x] Add Unsafe<T> #12577
- [x] Forbid taking the address of a immutable static item with `Unsafe<T>` interior

What's left to do in a separate PR (after the snapshot)?
===========================================

- Remove `Freeze` completely
2014-03-20 05:51:48 -07:00
..
interner.rs auto merge of #12686 : FlaPer87/rust/shared, r=nikomatsakis 2014-03-20 05:51:48 -07:00
parser_testing.rs rename std::vec_ng -> std::vec 2014-03-20 04:25:32 -04:00
small_vector.rs rename std::vec_ng -> std::vec 2014-03-20 04:25:32 -04:00