File tree 3 files changed +75
-1
lines changed
3 files changed +75
-1
lines changed Original file line number Diff line number Diff line change 1
- error[E0275]: overflow evaluating the requirement `RootDatabase : RefUnwindSafe`
1
+ error[E0275]: overflow evaluating the requirement `SalsaStorage : RefUnwindSafe`
2
2
--> $DIR/cycle-cache-err-60010.rs:27:13
3
3
|
4
4
LL | _parse: <ParseQuery as Query<RootDatabase>>::Data,
5
5
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6
6
|
7
+ note: required because it appears within the type `PhantomData<SalsaStorage>`
8
+ --> $SRC_DIR/core/src/marker.rs:LL:COL
9
+ note: required because it appears within the type `Unique<SalsaStorage>`
10
+ --> $SRC_DIR/core/src/ptr/unique.rs:LL:COL
11
+ note: required because it appears within the type `Box<SalsaStorage>`
12
+ --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
13
+ note: required because it appears within the type `Runtime<RootDatabase>`
14
+ --> $DIR/cycle-cache-err-60010.rs:23:8
15
+ |
16
+ LL | struct Runtime<DB: Database> {
17
+ | ^^^^^^^
18
+ note: required because it appears within the type `RootDatabase`
19
+ --> $DIR/cycle-cache-err-60010.rs:20:8
20
+ |
21
+ LL | struct RootDatabase {
22
+ | ^^^^^^^^^^^^
7
23
note: required for `RootDatabase` to implement `SourceDatabase`
8
24
--> $DIR/cycle-cache-err-60010.rs:44:9
9
25
|
Original file line number Diff line number Diff line change
1
+ //~ ERROR overflow
2
+ // A regression test for #111729 checking that we correctly
3
+ // track recursion depth for obligations returned by confirmation.
4
+ use std:: panic:: RefUnwindSafe ;
5
+
6
+ trait Database {
7
+ type Storage ;
8
+ }
9
+ trait Query < DB > {
10
+ type Data ;
11
+ }
12
+ struct ParseQuery ;
13
+ struct RootDatabase {
14
+ _runtime : Runtime < RootDatabase > ,
15
+ }
16
+
17
+ impl < T : RefUnwindSafe > Database for T {
18
+ type Storage = SalsaStorage ;
19
+ }
20
+ impl Database for RootDatabase {
21
+ type Storage = SalsaStorage ;
22
+ }
23
+
24
+ struct Runtime < DB : Database > {
25
+ _storage : Box < DB :: Storage > ,
26
+ }
27
+ struct SalsaStorage {
28
+ _parse : <ParseQuery as Query < RootDatabase > >:: Data ,
29
+ }
30
+
31
+ impl < DB : Database > Query < DB > for ParseQuery {
32
+ type Data = RootDatabase ;
33
+ }
34
+ fn main ( ) { }
Original file line number Diff line number Diff line change
1
+ error[E0275]: overflow evaluating the requirement `Runtime<RootDatabase>: RefUnwindSafe`
2
+ |
3
+ = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`cycle_via_builtin_auto_trait_impl`)
4
+ note: required because it appears within the type `RootDatabase`
5
+ --> $DIR/cycle-via-builtin-auto-trait-impl.rs:13:8
6
+ |
7
+ LL | struct RootDatabase {
8
+ | ^^^^^^^^^^^^
9
+ note: required for `RootDatabase` to implement `Database`
10
+ --> $DIR/cycle-via-builtin-auto-trait-impl.rs:17:24
11
+ |
12
+ LL | impl<T: RefUnwindSafe> Database for T {
13
+ | ------------- ^^^^^^^^ ^
14
+ | |
15
+ | unsatisfied trait bound introduced here
16
+ note: required because it appears within the type `Runtime<RootDatabase>`
17
+ --> $DIR/cycle-via-builtin-auto-trait-impl.rs:24:8
18
+ |
19
+ LL | struct Runtime<DB: Database> {
20
+ | ^^^^^^^
21
+
22
+ error: aborting due to previous error
23
+
24
+ For more information about this error, try `rustc --explain E0275`.
You can’t perform that action at this time.
0 commit comments