<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/ui/recursion/recursion.stderr, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-01-11T09:32:08+00:00</updated>
<entry>
<title>Move /src/test to /tests</title>
<updated>2023-01-11T09:32:08+00:00</updated>
<author>
<name>Albert Larsan</name>
<email>74931857+albertlarsan68@users.noreply.github.com</email>
</author>
<published>2023-01-05T08:13:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf2dff2b1e3fa55fa5415d524200070d0d7aacfe'/>
<id>urn:sha1:cf2dff2b1e3fa55fa5415d524200070d0d7aacfe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make "long type" printing type aware</title>
<updated>2022-11-18T16:42:59+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2022-11-16T01:38:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d49c10ac62c6f781b05bb2136b63bdf7a4608439'/>
<id>urn:sha1:d49c10ac62c6f781b05bb2136b63bdf7a4608439</id>
<content type='text'>
Instead of simple string cutting, use a custom printer to hide parts of
long printed types.
</content>
</entry>
<entry>
<title>Let user see the full type of type-length limit error</title>
<updated>2020-09-20T23:39:58+00:00</updated>
<author>
<name>Kornel Lesiński</name>
<email>kornel@geekhood.net</email>
</author>
<published>2020-09-16T02:45:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=34d3c7df80dc687e184d8bfa456e851cad9839de'/>
<id>urn:sha1:34d3c7df80dc687e184d8bfa456e851cad9839de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Better handling for exponential-sized types in misc places</title>
<updated>2020-09-18T01:44:11+00:00</updated>
<author>
<name>Valerii Lashmanov</name>
<email>vflashm@gmail.com</email>
</author>
<published>2020-09-15T23:22:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=17d2e3b5d208d29d156ff94f112b5bc95acee351'/>
<id>urn:sha1:17d2e3b5d208d29d156ff94f112b5bc95acee351</id>
<content type='text'>
Mostly to fix ui/issues/issue-37311-type-length-limit/issue-37311.rs.

Most parts of the compiler can handle deeply nested types with a lot
of duplicates just fine, but some parts still attempt to naively
traverse type tree.

Before such problems were caught by type length limit check,
but now these places will have to be changed to handle
duplicated types gracefully.
</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>Point at the call spawn when overflow occurs during monomorphization</title>
<updated>2020-06-22T18:35:42+00:00</updated>
<author>
<name>Aaron Hill</name>
<email>aa1ronham@gmail.com</email>
</author>
<published>2020-06-22T02:32:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3ed96a6d638f8dc8aa081ca1ad82e61caa8930ca'/>
<id>urn:sha1:3ed96a6d638f8dc8aa081ca1ad82e61caa8930ca</id>
<content type='text'>
This improves the output for issue #72577, but there's still more work
to be done.

Currently, an overflow error during monomorphization results in an error
that points at the function we were unable to monomorphize. However, we
don't point at the call that caused the monomorphization to happen. In
the overflow occurs in a large recursive function, it may be difficult
to determine where the issue is.

This commit tracks and `Span` information during collection of
`MonoItem`s, which is used when emitting an overflow error. `MonoItem`
itself is unchanged, so this only affects
`src/librustc_mir/monomorphize/collector.rs`
</content>
</entry>
<entry>
<title>Specify overflow checks behaviour in test</title>
<updated>2020-02-11T19:35:29+00:00</updated>
<author>
<name>Matthew Jasper</name>
<email>mjjasper1@gmail.com</email>
</author>
<published>2020-02-10T22:31:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=30a8353f372f7cc719d1de6811996ce5215183a6'/>
<id>urn:sha1:30a8353f372f7cc719d1de6811996ce5215183a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rework run-fail and support check,build-fail</title>
<updated>2019-12-21T21:16:00+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-12-14T03:28:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b4420c8f5c9be977b72b9b0027800ae36aa0f302'/>
<id>urn:sha1:b4420c8f5c9be977b72b9b0027800ae36aa0f302</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Raise the default recursion limit to 128</title>
<updated>2019-07-06T21:12:35+00:00</updated>
<author>
<name>Simonas Kazlauskas</name>
<email>git@kazlauskas.me</email>
</author>
<published>2019-07-06T17:11:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7e40df3f134f72597c8b125f21abf3b4d3aefceb'/>
<id>urn:sha1:7e40df3f134f72597c8b125f21abf3b4d3aefceb</id>
<content type='text'>
</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>
</feed>
