Skip to content

Commit 01dd376

Browse files
committed
#![recursion_limit = "X"]: note current crate name.
1 parent c9290dc commit 01dd376

16 files changed

+23
-23
lines changed

src/librustc/traits/error_reporting/suggestions.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1646,8 +1646,8 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
16461646
let current_limit = self.tcx.sess.recursion_limit.get();
16471647
let suggested_limit = current_limit * 2;
16481648
err.help(&format!(
1649-
"consider adding a `#![recursion_limit=\"{}\"]` attribute to your crate",
1650-
suggested_limit
1649+
"consider adding a `#![recursion_limit=\"{}\"]` attribute to your crate (`{}`)",
1650+
suggested_limit, self.tcx.crate_name,
16511651
));
16521652
}
16531653
}

src/librustc_expand/expand.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -599,8 +599,8 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
599599
&format!("recursion limit reached while expanding `{}`", expn_data.kind.descr()),
600600
);
601601
err.help(&format!(
602-
"consider adding a `#![recursion_limit=\"{}\"]` attribute to your crate",
603-
suggested_limit
602+
"consider adding a `#![recursion_limit=\"{}\"]` attribute to your crate (`{}`)",
603+
suggested_limit, self.cx.ecfg.crate_name,
604604
));
605605
err.emit();
606606
self.cx.trace_macros_diag();

src/librustc_typeck/check/autoderef.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,8 @@ pub fn report_autoderef_recursion_limit_error<'tcx>(tcx: TyCtxt<'tcx>, span: Spa
250250
)
251251
.span_label(span, "deref recursion limit reached")
252252
.help(&format!(
253-
"consider adding a `#![recursion_limit=\"{}\"]` attribute to your crate",
254-
suggested_limit
253+
"consider adding a `#![recursion_limit=\"{}\"]` attribute to your crate (`{}`)",
254+
suggested_limit, tcx.crate_name,
255255
))
256256
.emit();
257257
}

src/test/ui/did_you_mean/recursion_limit.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ LL | fn is_send<T:Send>() { }
77
LL | is_send::<A>();
88
| ^^^^^^^^^^^^
99
|
10-
= help: consider adding a `#![recursion_limit="20"]` attribute to your crate
10+
= help: consider adding a `#![recursion_limit="20"]` attribute to your crate (`recursion_limit`)
1111
= note: required because it appears within the type `I`
1212
= note: required because it appears within the type `H`
1313
= note: required because it appears within the type `G`

src/test/ui/did_you_mean/recursion_limit_deref.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ error[E0055]: reached the recursion limit while auto-dereferencing `I`
44
LL | let x: &Bottom = &t;
55
| ^^ deref recursion limit reached
66
|
7-
= help: consider adding a `#![recursion_limit="20"]` attribute to your crate
7+
= help: consider adding a `#![recursion_limit="20"]` attribute to your crate (`recursion_limit_deref`)
88

99
error[E0308]: mismatched types
1010
--> $DIR/recursion_limit_deref.rs:50:22

src/test/ui/did_you_mean/recursion_limit_macro.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ LL | ($t:tt $($tail:tt)*) => { recurse!($($tail)*) };
77
LL | recurse!(0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9);
88
| -------------------------------------------------- in this macro invocation
99
|
10-
= help: consider adding a `#![recursion_limit="20"]` attribute to your crate
10+
= help: consider adding a `#![recursion_limit="20"]` attribute to your crate (`recursion_limit_macro`)
1111

1212
error: aborting due to previous error
1313

src/test/ui/error-codes/E0055.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
44
LL | ref_foo.foo();
55
| ^^^ deref recursion limit reached
66
|
7-
= help: consider adding a `#![recursion_limit="10"]` attribute to your crate
7+
= help: consider adding a `#![recursion_limit="10"]` attribute to your crate (`E0055`)
88

99
error: aborting due to previous error
1010

src/test/ui/error-codes/E0275.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ LL | trait Foo {}
77
LL | impl<T> Foo for T where Bar<T>: Foo {}
88
| ^^^
99
|
10-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
10+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`E0275`)
1111
= note: required because of the requirements on the impl of `Foo` for `Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
1212
= note: required because of the requirements on the impl of `Foo` for `Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
1313
= note: required because of the requirements on the impl of `Foo` for `Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<Bar<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`

src/test/ui/infinite/infinite-autoderef.stderr

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
1313
LL | Foo.foo;
1414
| ^^^^^^^ deref recursion limit reached
1515
|
16-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
16+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`infinite_autoderef`)
1717

1818
error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
1919
--> $DIR/infinite-autoderef.rs:25:9
2020
|
2121
LL | Foo.foo;
2222
| ^^^ deref recursion limit reached
2323
|
24-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
24+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`infinite_autoderef`)
2525

2626
error[E0609]: no field `foo` on type `Foo`
2727
--> $DIR/infinite-autoderef.rs:25:9
@@ -35,7 +35,7 @@ error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
3535
LL | Foo.bar();
3636
| ^^^ deref recursion limit reached
3737
|
38-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
38+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`infinite_autoderef`)
3939

4040
error[E0599]: no method named `bar` found for struct `Foo` in the current scope
4141
--> $DIR/infinite-autoderef.rs:26:9

src/test/ui/infinite/infinite-macro-expansion.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ LL | () => (recursive!())
77
LL | recursive!()
88
| ------------ in this macro invocation
99
|
10-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
10+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`infinite_macro_expansion`)
1111

1212
error: aborting due to previous error
1313

src/test/ui/issues/issue-16098.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ LL | $n + prob1!($n - 1);
77
LL | println!("Problem 1: {}", prob1!(1000));
88
| ------------ in this macro invocation
99
|
10-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
10+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`issue_16098`)
1111

1212
error: aborting due to previous error
1313

src/test/ui/issues/issue-18400.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ error[E0275]: overflow evaluating the requirement `_: std::marker::Sized`
44
LL | 0.contains(bits);
55
| ^^^^^^^^
66
|
7-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
7+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`issue_18400`)
88
= note: required because of the requirements on the impl of `Set<&[_]>` for `{integer}`
99
= note: required because of the requirements on the impl of `Set<&[&[_]]>` for `{integer}`
1010
= note: required because of the requirements on the impl of `Set<&[&[&[_]]]>` for `{integer}`

src/test/ui/issues/issue-20413.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ LL | trait Foo {
1515
LL | impl<T> Foo for T where NoData<T>: Foo {
1616
| ^^^
1717
|
18-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
18+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`issue_20413`)
1919
= note: required because of the requirements on the impl of `Foo` for `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
2020
= note: required because of the requirements on the impl of `Foo` for `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
2121
= note: required because of the requirements on the impl of `Foo` for `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
@@ -153,7 +153,7 @@ LL | trait Foo {
153153
LL | impl<T> Foo for T where NoData<T>: Foo {
154154
| ^^^
155155
|
156-
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate
156+
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`issue_20413`)
157157
= note: required because of the requirements on the impl of `Foo` for `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
158158
= note: required because of the requirements on the impl of `Foo` for `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
159159
= note: required because of the requirements on the impl of `Foo` for `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`

0 commit comments

Comments
 (0)