<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_parse/src/parser, branch 1.65.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.65.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.65.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-10-27T14:53:42+00:00</updated>
<entry>
<title>Revert "Do not consider method call receiver as an argument in AST."</title>
<updated>2022-10-27T14:53:42+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2022-10-27T14:53:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=85dee2b354cf06ec24b00e61fc70cf88d27b1cd9'/>
<id>urn:sha1:85dee2b354cf06ec24b00e61fc70cf88d27b1cd9</id>
<content type='text'>
This reverts commit 970184528718d7c10579cac7b7e7e66ef2e2a3f5.
</content>
</entry>
<entry>
<title>Rollup merge of #101859 - Rageking8:slight-vertical-formatting, r=compiler-errors</title>
<updated>2022-09-16T11:07:18+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2022-09-16T11:07:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9a72ded562b2c8b78478550d4df09d1499a3dae1'/>
<id>urn:sha1:9a72ded562b2c8b78478550d4df09d1499a3dae1</id>
<content type='text'>
Slight vertical formatting
</content>
</entry>
<entry>
<title>tweak suggestion</title>
<updated>2022-09-15T17:09:26+00:00</updated>
<author>
<name>yukang</name>
<email>moorekang@gmail.com</email>
</author>
<published>2022-09-15T17:09:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4bf7d2ca913179e3d4c71871a112820624c1e379'/>
<id>urn:sha1:4bf7d2ca913179e3d4c71871a112820624c1e379</id>
<content type='text'>
</content>
</entry>
<entry>
<title>slight vertical formatting</title>
<updated>2022-09-15T15:51:43+00:00</updated>
<author>
<name>Rageking8</name>
<email>tomleetyt@gmail.com</email>
</author>
<published>2022-09-15T15:51:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6d7beafc87e7cd8806987c5203e52bc3b8c458fa'/>
<id>urn:sha1:6d7beafc87e7cd8806987c5203e52bc3b8c458fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix #101797: Suggest associated const for incorrect use of let in traits</title>
<updated>2022-09-15T08:15:38+00:00</updated>
<author>
<name>yukang</name>
<email>moorekang@gmail.com</email>
</author>
<published>2022-09-15T07:18:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=98e20c097cbb402ee2c6f4056fe8b4acca9679f9'/>
<id>urn:sha1:98e20c097cbb402ee2c6f4056fe8b4acca9679f9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #101313 - SparrowLii:mk_attr_id, r=cjgillot</title>
<updated>2022-09-14T20:52:18+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-09-14T20:52:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=750bd1a7ff3e010611b97ee75d30b7cbf5f3a03c'/>
<id>urn:sha1:750bd1a7ff3e010611b97ee75d30b7cbf5f3a03c</id>
<content type='text'>
make `mk_attr_id` part of `ParseSess`

Updates #48685

The current `mk_attr_id` uses the `AtomicU32` type, which is not very efficient and adds a lot of lock contention in a parallel environment.

This PR refers to the task list in #48685, uses `mk_attr_id` as a method of the `AttrIdGenerator` struct, and adds a new field `attr_id_generator` to `ParseSess`.

`AttrIdGenerator` uses the `WorkerLocal`, which has two advantages: 1. `Cell` is more efficient than `AtomicU32`, and does not increase any lock contention. 2. We put the index of the work thread in the first few bits of the generated `AttrId`, so that the `AttrId` generated in different threads can be easily guaranteed to be unique.

cc `@cjgillot`
</content>
</entry>
<entry>
<title>Auto merge of #101212 - eholk:dyn-star, r=compiler-errors</title>
<updated>2022-09-14T18:10:51+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-09-14T18:10:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6153d3cbe6abc74fb37e4ebe48cc825484fd6bbf'/>
<id>urn:sha1:6153d3cbe6abc74fb37e4ebe48cc825484fd6bbf</id>
<content type='text'>
Initial implementation of dyn*

This PR adds extremely basic and incomplete support for [dyn*](https://smallcultfollowing.com/babysteps//blog/2022/03/29/dyn-can-we-make-dyn-sized/). The goal is to get something in tree behind a flag to make collaboration easier, and also to make sure the implementation so far is not unreasonable. This PR does quite a few things:

* Introduce `dyn_star` feature flag
* Adds parsing for `dyn* Trait` types
* Defines `dyn* Trait` as a sized type
* Adds support for explicit casts, like `42usize as dyn* Debug`
  * Including const evaluation of such casts
* Adds codegen for drop glue so things are cleaned up properly when a `dyn* Trait` object goes out of scope
* Adds codegen for method calls, at least for methods that take `&amp;self`

Quite a bit is still missing, but this gives us a starting point. Note that this is never intended to become stable surface syntax for Rust, but rather `dyn*` is planned to be used as an implementation detail for async functions in dyn traits.

Joint work with `@nikomatsakis` and `@compiler-errors.`

r? `@bjorn3`
</content>
</entry>
<entry>
<title>make `mk_attr_id` part of `ParseSess`</title>
<updated>2022-09-14T00:49:10+00:00</updated>
<author>
<name>SparrowLii</name>
<email>liyuan179@huawei.com</email>
</author>
<published>2022-09-02T08:29:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1a3ecbdb6a4c9eeced6e9a7ece9f5733548d531b'/>
<id>urn:sha1:1a3ecbdb6a4c9eeced6e9a7ece9f5733548d531b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Address code review comments</title>
<updated>2022-09-13T21:50:12+00:00</updated>
<author>
<name>Eric Holk</name>
<email>ericholk@microsoft.com</email>
</author>
<published>2022-08-30T19:44:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf04547b0b793b55f1255142dc07d3c8437f6815'/>
<id>urn:sha1:cf04547b0b793b55f1255142dc07d3c8437f6815</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce dyn_star feature flag</title>
<updated>2022-09-12T23:55:55+00:00</updated>
<author>
<name>Eric Holk</name>
<email>ericholk@microsoft.com</email>
</author>
<published>2022-04-08T01:06:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eff35e59c698df379806add4c9f2c1d8d3fe55ca'/>
<id>urn:sha1:eff35e59c698df379806add4c9f2c1d8d3fe55ca</id>
<content type='text'>
The primary purpose of this commit is to introduce the
dyn_star flag so we can begin experimenting with implementation.

In order to have something to do in the feature gate test, we also add
parser support for `dyn* Trait` objects. These are currently treated
just like `dyn Trait` objects, but this will change in the future.

Note that for now `dyn* Trait` is experimental syntax to enable
implementing some of the machinery needed for async fn in dyn traits
without fully supporting the feature.
</content>
</entry>
</feed>
