<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/ui/panic-handler, branch 1.45.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.45.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.45.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-01-24T16:24:50+00:00</updated>
<entry>
<title>Normalise notes with the/is</title>
<updated>2020-01-24T16:24:50+00:00</updated>
<author>
<name>varkor</name>
<email>github@varkor.com</email>
</author>
<published>2020-01-22T23:57:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=24a2929ed1d3e1760bf89c878352448fb5ee2087'/>
<id>urn:sha1:24a2929ed1d3e1760bf89c878352448fb5ee2087</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Diagnostics should not end with a full stop</title>
<updated>2020-01-12T15:37:50+00:00</updated>
<author>
<name>varkor</name>
<email>github@varkor.com</email>
</author>
<published>2020-01-10T14:36:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8461fa51198ad5db1d070620fe4186aaec648438'/>
<id>urn:sha1:8461fa51198ad5db1d070620fe4186aaec648438</id>
<content type='text'>
</content>
</entry>
<entry>
<title>getting more context for duplicate lang items (fixes #60561)</title>
<updated>2019-09-27T14:56:23+00:00</updated>
<author>
<name>Tomas Tauber</name>
<email>2410580+tomtau@users.noreply.github.com</email>
</author>
<published>2019-09-27T13:32:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ac9aed56e4dc62c4959ae0c14cec585994302c93'/>
<id>urn:sha1:ac9aed56e4dc62c4959ae0c14cec585994302c93</id>
<content type='text'>
Where possible, the error message includes the name of the crate
that brought in the crate with duplicate lang items (which
helps with debugging). This information is passed on from cstore
using the `extern_crate` query.
</content>
</entry>
<entry>
<title>Update tests</title>
<updated>2019-03-11T20:10:26+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2019-03-09T12:03:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fa72a81bea27f1fda4287475e4cc2f684c971e7f'/>
<id>urn:sha1:fa72a81bea27f1fda4287475e4cc2f684c971e7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove licenses</title>
<updated>2018-12-26T04:08:33+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2018-12-25T15:56:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2a663555ddf36f6b041445894a8c175cd1bc718c'/>
<id>urn:sha1:2a663555ddf36f6b041445894a8c175cd1bc718c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update tests</title>
<updated>2018-12-04T09:06:05+00:00</updated>
<author>
<name>Oliver Scherer</name>
<email>github35764891676564198441@oli-obk.de</email>
</author>
<published>2018-11-27T09:56:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=61efc3b71b28e5adde5a7e0b71e519e3d5001917'/>
<id>urn:sha1:61efc3b71b28e5adde5a7e0b71e519e3d5001917</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Extend lang items to assert correct target.</title>
<updated>2018-10-11T17:36:51+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2018-10-11T17:36:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2ecce7ccc5d74eb3d6b0ff400b2a19944e2ae51a'/>
<id>urn:sha1:2ecce7ccc5d74eb3d6b0ff400b2a19944e2ae51a</id>
<content type='text'>
This commit extends the existing lang items functionality to assert
that the `#[lang_item]` attribute is only found on the appropriate item
for any given lang item. That is, language items representing traits
must only ever have their corresponding attribute placed on a trait, for
example.
</content>
</entry>
<entry>
<title>stabilize `#[panic_handler]`</title>
<updated>2018-09-07T11:27:30+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>jorge@japaric.io</email>
</author>
<published>2018-09-07T10:43:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=358fc5b62126f997a1c38ba4c8be60ae16e4a2c4'/>
<id>urn:sha1:358fc5b62126f997a1c38ba4c8be60ae16e4a2c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Point at def span on incorrect panic or alloc error handler</title>
<updated>2018-08-30T23:00:09+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2018-08-30T23:00:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=70ed4f972e73f5fe8c11c4ac0cf98d13b30083b9'/>
<id>urn:sha1:70ed4f972e73f5fe8c11c4ac0cf98d13b30083b9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc: Continue to tweak "std internal symbols"</title>
<updated>2018-08-26T23:34:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2018-08-23T07:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a2282e1286823c06ee9c4fa5e49544fc4f47771'/>
<id>urn:sha1:0a2282e1286823c06ee9c4fa5e49544fc4f47771</id>
<content type='text'>
In investigating [an issue][1] with `panic_implementation` defined in an
executable that's optimized I once again got to rethinking a bit about the
`rustc_std_internal_symbol` attribute as well as weak lang items. We've sort of
been non-stop tweaking these items ever since their inception, and this
continues to the trend.

The crux of the bug was that in the reachability we have a [different branch][2]
for non-library builds which meant that weak lang items (and std internal
symbols) weren't considered reachable, causing them to get eliminiated by
ThinLTO passes. The fix was to basically tweak that branch to consider these
symbols to ensure that they're propagated all the way to the linker.

Along the way I've attempted to erode the distinction between std internal
symbols and weak lang items by having weak lang items automatically configure
fields of `CodegenFnAttrs`. That way most code no longer even considers weak
lang items and they're simply considered normal functions with attributes about
the ABI.

In the end this fixes the final comment of #51342

[1]: https://github.com/rust-lang/rust/issues/51342#issuecomment-414368019
[2]: https://github.com/rust-lang/rust/blob/35bf1ae25799a4e62131159f052e0a3cbd27c960/src/librustc/middle/reachable.rs#L225-L238
</content>
</entry>
</feed>
