<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/librustc_metadata/rmeta/decoder.rs, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-08-30T15:45:07+00:00</updated>
<entry>
<title>mv compiler to compiler/</title>
<updated>2020-08-30T15:45:07+00:00</updated>
<author>
<name>mark</name>
<email>markm@cs.wisc.edu</email>
</author>
<published>2020-08-28T03:58:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9e5f7d5631b8f4009ac1c693e585d4b7108d4275'/>
<id>urn:sha1:9e5f7d5631b8f4009ac1c693e585d4b7108d4275</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc_metadata: Move some code around to merge impls of `CrateMetadataRef`</title>
<updated>2020-08-22T18:38:56+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2020-08-22T18:38:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6a5e6572cbc6ad3260eb454e3505c85631d38e87'/>
<id>urn:sha1:6a5e6572cbc6ad3260eb454e3505c85631d38e87</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Do not forget capacity when collecting def path hashes</title>
<updated>2020-08-22T18:36:34+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2020-08-22T18:36:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=15643d5d90af8b288156be604baa2d4eef7209a4'/>
<id>urn:sha1:15643d5d90af8b288156be604baa2d4eef7209a4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Lazy decoding of DefPathTable from crate metadata (non-incremental case)</title>
<updated>2020-08-22T18:19:47+00:00</updated>
<author>
<name>Aaron Hill</name>
<email>aa1ronham@gmail.com</email>
</author>
<published>2020-07-29T16:26:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=df57e28685f7fd3a9961f640a648d526ffa19d91'/>
<id>urn:sha1:df57e28685f7fd3a9961f640a648d526ffa19d91</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rust_ast::ast =&gt; rustc_ast</title>
<updated>2020-08-17T20:32:32+00:00</updated>
<author>
<name>Ujjwal Sharma</name>
<email>ryzokuken@disroot.org</email>
</author>
<published>2020-04-27T17:56:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a888b02884883de41d0ce08aa62a6cd6d4790951'/>
<id>urn:sha1:a888b02884883de41d0ce08aa62a6cd6d4790951</id>
<content type='text'>
</content>
</entry>
<entry>
<title>replaced log with tracing</title>
<updated>2020-08-15T20:03:11+00:00</updated>
<author>
<name>Gurpreet Singh</name>
<email>gdhuper@gmail.com</email>
</author>
<published>2020-08-14T06:05:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d2753f91b5e09a91841fa729ef6b14d7ef249e8a'/>
<id>urn:sha1:d2753f91b5e09a91841fa729ef6b14d7ef249e8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework `rustc_serialize`</title>
<updated>2020-08-14T16:34:30+00:00</updated>
<author>
<name>Matthew Jasper</name>
<email>mjjasper1@gmail.com</email>
</author>
<published>2020-06-11T14:49:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cbcef3effcf64bd0d89ea2dc8973e18d7fcf94c3'/>
<id>urn:sha1:cbcef3effcf64bd0d89ea2dc8973e18d7fcf94c3</id>
<content type='text'>
- Move the type parameter from `encode` and `decode` methods to
  the trait.
- Remove `UseSpecialized(En|De)codable` traits.
- Remove blanket impls for references.
- Add `RefDecodable` trait to allow deserializing to arena-allocated
  references safely.
- Remove ability to (de)serialize HIR.
- Create proc-macros `(Ty)?(En|De)codable` to help implement these new
  traits.
</content>
</entry>
<entry>
<title>Eliminate the `SessionGlobals` from `librustc_ast`.</title>
<updated>2020-08-08T02:03:42+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>nnethercote@mozilla.com</email>
</author>
<published>2020-07-30T01:27:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e539dd65f8ba80837f7477c0547c61514bceb3ad'/>
<id>urn:sha1:e539dd65f8ba80837f7477c0547c61514bceb3ad</id>
<content type='text'>
By moving `{known,used}_attrs` from `SessionGlobals` to `Session`. This
means they are accessed via the `Session`, rather than via TLS. A few
`Attr` methods and `librustc_ast` functions are now methods of
`Session`.

All of this required passing a `Session` to lots of functions that didn't
already have one. Some of these functions also had arguments removed, because
those arguments could be accessed directly via the `Session` argument.

`contains_feature_attr()` was dead, and is removed.

Some functions were moved from `librustc_ast` elsewhere because they now need
to access `Session`, which isn't available in that crate.
- `entry_point_type()` --&gt; `librustc_builtin_macros`
- `global_allocator_spans()` --&gt; `librustc_metadata`
- `is_proc_macro_attr()` --&gt; `Session`
</content>
</entry>
<entry>
<title>Auto merge of #75008 - eddyb:rmeta-indexed-trait-impls, r=nikomatsakis</title>
<updated>2020-08-06T03:23:57+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-08-06T03:23:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3cfc7fe78eccc754b16981704a098d7bd520e2fd'/>
<id>urn:sha1:3cfc7fe78eccc754b16981704a098d7bd520e2fd</id>
<content type='text'>
rustc_metadata: track the simplified Self type for every trait impl.

For the `traits_impls_of` query, we index the impls by `fast_reject::SimplifiedType` (a "shallow type"), which allows some simple cases like `impl Trait&lt;..&gt; for Foo&lt;..&gt;` to be efficiently iterated over, by e.g. `for_each_relevant_impl`.

This PR encodes the `fast_reject::SimplifiedType` cross-crate to avoid needing to deserialize the `Self` type of every `impl` in order to simplify it - the simplification itself should be cheap, but the deserialization is less so.

We could go further from here and make loading the list of impls lazy, for a given simplified `Self` type, but that would have more complicated implications for performance, and this PR doesn't do anything in that regard.

r? @nikomatsakis cc @Mark-Simulacrum
</content>
</entry>
<entry>
<title>mir: use `FiniteBitSet&lt;u32&gt;` in polymorphization</title>
<updated>2020-08-04T17:30:53+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-04T17:11:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5f89f02c4e7d06dcb94434b8b30ce457b06eda5c'/>
<id>urn:sha1:5f89f02c4e7d06dcb94434b8b30ce457b06eda5c</id>
<content type='text'>
This commit changes polymorphization to return a `FiniteBitSet&lt;u32&gt;`
rather than a `FiniteBitSet&lt;u64&gt;` because most functions do not use
anywhere near sixty-four generic parameters so keeping a `u64` around is
unnecessary in most cases.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
</feed>
