<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/debuginfo/captured-fields-1.rs, branch 1.62.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.62.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.62.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-02-01T09:39:40+00:00</updated>
<entry>
<title>debuginfo: Make sure that type names for closure and generator environments are unique in debuginfo.</title>
<updated>2022-02-01T09:39:40+00:00</updated>
<author>
<name>Michael Woerister</name>
<email>michaelwoerister@posteo</email>
</author>
<published>2022-01-19T16:56:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fd7557b7ee454058fff84b556892adbef89f7d52'/>
<id>urn:sha1:fd7557b7ee454058fff84b556892adbef89f7d52</id>
<content type='text'>
Before this change, closure/generator environments coming from different
instantiations of the same generic function were all assigned the same
name even though they were distinct types with potentially different data
layout. Now we append the generic arguments of the originating function
to the type name.

This commit also emits '{closure_env#0}' as the name of these types in
order to disambiguate them from the accompanying closure function
'{closure#0}'. Previously both were assigned the same name.
</content>
</entry>
<entry>
<title>Store names of captured variables in `optimized_mir`</title>
<updated>2021-07-09T15:09:48+00:00</updated>
<author>
<name>lrh2000</name>
<email>lrh2000@pku.edu.cn</email>
</author>
<published>2021-05-15T11:01:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cda90f55419ce449f3a9db327465d9b2ae7dfce9'/>
<id>urn:sha1:cda90f55419ce449f3a9db327465d9b2ae7dfce9</id>
<content type='text'>
- Closures in external crates may get compiled in because of
  monomorphization. We should store names of captured variables
  in `optimized_mir`, so that they are written into the metadata
  file and we can use them to generate debuginfo.

- If there are breakpoints inside closures, the names of captured
  variables stored in `optimized_mir` can be used to print them.
  Now the name is more precise when disjoint fields are captured.
</content>
</entry>
</feed>
