<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/librustc_trait_selection/traits, 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>hir: consistent use and naming of lang items</title>
<updated>2020-08-24T11:17:51+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-18T10:47:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6cc268e316d37d97fbdda6c1bf3e5a58dea470fe'/>
<id>urn:sha1:6cc268e316d37d97fbdda6c1bf3e5a58dea470fe</id>
<content type='text'>
This commit adjusts the naming of various lang items so that they are
consistent and don't include prefixes containing the target or
"LangItem". In addition, lang item variants are no longer exported from
the `lang_items` module.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>Use smaller def span for functions</title>
<updated>2020-08-22T22:41:49+00:00</updated>
<author>
<name>Aaron Hill</name>
<email>aa1ronham@gmail.com</email>
</author>
<published>2020-08-12T21:02:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e3cd43eb0093a59c4ba98e44c13a8dacc9f4f9b1'/>
<id>urn:sha1:e3cd43eb0093a59c4ba98e44c13a8dacc9f4f9b1</id>
<content type='text'>
Currently, the def span of a funtion encompasses the entire function
signature and body. However, this is usually unnecessarily verbose - when we are
pointing at an entire function in a diagnostic, we almost always want to
point at the signature. The actual contents of the body tends to be
irrelevant to the diagnostic we are emitting, and just takes up
additional screen space.

This commit changes the `def_span` of all function items (freestanding
functions, `impl`-block methods, and `trait`-block methods) to be the
span of the signature. For example, the function

```rust
pub fn foo&lt;T&gt;(val: T) -&gt; T { val }
```

now has a `def_span` corresponding to `pub fn foo&lt;T&gt;(val: T) -&gt; T`
(everything before the opening curly brace).

Trait methods without a body have a `def_span` which includes the
trailing semicolon. For example:

```rust
trait Foo {
    fn bar();
}```

the function definition `Foo::bar` has a `def_span` of `fn bar();`

This makes our diagnostic output much shorter, and emphasizes
information that is relevant to whatever diagnostic we are reporting.

We continue to use the full span (including the body) in a few of
places:

* MIR building uses the full span when building source scopes.
* 'Outlives suggestions' use the full span to sort the diagnostics being
  emitted.
* The `#[rustc_on_unimplemented(enclosing_scope="in this scope")]`
attribute points the entire scope body.
* The 'unconditional recursion' lint uses the full span to show
  additional context for the recursive call.

All of these cases work only with local items, so we don't need to
add anything extra to crate metadata.
</content>
</entry>
<entry>
<title>Don't immediately error for cycles during normalization</title>
<updated>2020-08-20T18:29:42+00:00</updated>
<author>
<name>Matthew Jasper</name>
<email>mjjasper1@gmail.com</email>
</author>
<published>2020-08-13T19:45:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=67fb5839df4c737911556f3c9967d632ae530a7c'/>
<id>urn:sha1:67fb5839df4c737911556f3c9967d632ae530a7c</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>Auto merge of #75536 - estebank:e0255-suggestion, r=varkor</title>
<updated>2020-08-16T11:16:44+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-08-16T11:16:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=97ba0c7171c4d2d9b899a2bd8e40a8974c47b86d'/>
<id>urn:sha1:97ba0c7171c4d2d9b899a2bd8e40a8974c47b86d</id>
<content type='text'>
Tweak output of E0225

When encountering multiple non-auto trait bounds suggest creating a new
trait and explain what auto-traits are.

_Inspired by https://fasterthanli.me/articles/frustrated-its-not-you-its-rust_
</content>
</entry>
<entry>
<title>Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco</title>
<updated>2020-08-15T03:07:11+00:00</updated>
<author>
<name>Tyler Mandry</name>
<email>tmandry@gmail.com</email>
</author>
<published>2020-08-15T03:07:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=28b11abc2f336288379b6e635e65e23809616487'/>
<id>urn:sha1:28b11abc2f336288379b6e635e65e23809616487</id>
<content type='text'>
merge `as_local_hir_id` with `local_def_id_to_hir_id`

`as_local_hir_id` was defined as just calling `local_def_id_to_hir_id` and I think that having two different ways to call the same method is somewhat confusing.

Don't really care about which of these 2 methods we want to keep.

Does this require an MCP, considering that these methods are fairly frequently used?
</content>
</entry>
<entry>
<title>Tweak output of E0225</title>
<updated>2020-08-14T19:08:49+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2020-08-14T19:08:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0afb9c28bb80467cf2af8e9cd1f1b6af63744004'/>
<id>urn:sha1:0afb9c28bb80467cf2af8e9cd1f1b6af63744004</id>
<content type='text'>
When encountering multiple non-auto trait bounds suggest creating a new
trait and explain what auto-traits are.
</content>
</entry>
<entry>
<title>Auto merge of #75443 - lcnr:opaque-normalize, r=nikomatsakis</title>
<updated>2020-08-13T15:03:40+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-08-13T15:03:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a49057dd35d9bd2fcc9760a054809c30eee2a58'/>
<id>urn:sha1:0a49057dd35d9bd2fcc9760a054809c30eee2a58</id>
<content type='text'>
allow escaping bound vars when normalizing `ty::Opaque`

implements https://github.com/rust-lang/rust/issues/75313#issuecomment-672216146 and fixes #75313

cc @eddyb @RalfJung

r? @nikomatsakis
</content>
</entry>
<entry>
<title>merge `as_local_hir_id` with `local_def_id_to_hir_id`</title>
<updated>2020-08-13T14:55:16+00:00</updated>
<author>
<name>Bastian Kauschke</name>
<email>bastian_kauschke@hotmail.de</email>
</author>
<published>2020-08-12T10:22:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cd53760cc7751b65943feb6437af28d5ccb6e770'/>
<id>urn:sha1:cd53760cc7751b65943feb6437af28d5ccb6e770</id>
<content type='text'>
</content>
</entry>
</feed>
