tree b7d6b5b5f7143cc302e005147eccf02a36c83769
parent b6269f27d99d7da9e95f0b3fdc53193dc8c42fbe
parent 5462ecb4b131a513b2d821d52b9af491781bd898
author Mazdak Farrokhzad <twingoow@gmail.com> 1568646573 +0200
committer GitHub <noreply@github.com> 1568646573 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJdf6WtCRBK7hj4Ov3rIwAAdHIIAFH0BKPRYCwMYCdYgfSSSWlr
 KYd99jZ0j8Q2P4QHgyYSDxnaWSSiRuDDd6jD8hZ8Nq8uNeZKC8/iUrKbt6UZ/Dnk
 i98U3N4smyyH2KHKXo9dgAb/jPDdaOE4DcyDaQ7O7jorRXN92fM6mBw3Ao8UxWTf
 9xG0J2YF7TP6ZrRnDz7lfzyJKrwcPLyGou7YJQdLni0VjpsL5mtKv/NgUeBFE3s3
 sq3LV9X75wIYCjmJW9JmFBvQo3boukN5YLbWOiKI2DlIDgmZxpxsbdYCJOpIOEOz
 uprVSkW9roeQQIHzJSu4NDCvZqThd9uNvkLaeFzscRYA35LpzDchYRStpbGNw8c=
 =AzwL
 -----END PGP SIGNATURE-----
 

Rollup merge of #63955 - RalfJung:intern, r=oli-obk

Make sure interned constants are immutable

This makes sure that interning for constants (not statics) creates only immutable allocations.

Previously, the "main" allocation of `const FOO: Cell<i32> = Cell::new(0);` was marked as mutable, but I don't think we want that. It can be only copied, not written to.

Also, "leftover" allocations (behind raw pointers etc) were left mutable. I don't think we want to support that. I tried asserting that these are all already immutable (to double-check our static checks), but that failed in this one:
```rust
const NON_NULL_PTR2: NonNull<u8> = unsafe { mem::transmute(&0) };
```
Seems like maybe we want more precise mutability annotation inside Miri for locals (like `&0` here) so that this would actually become immutable to begin with?

I also factored `intern_shallow` out of the visitor so that we don't have to construct a visitor when we do not plan to visit anything. That confused me at first.
