Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation failure: overflow evaluating requirement #1283

Closed
cramertj opened this issue May 17, 2019 · 3 comments
Closed

Compilation failure: overflow evaluating requirement #1283

cramertj opened this issue May 17, 2019 · 3 comments

Comments

@cramertj
Copy link
Member

Checking out master right now (f711237) and running cargo install-code gave several errors when compiling ra_ide_api:

rustc version: rustc 1.36.0-nightly (7d5aa4332 2019-05-16)

   error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_db::SourceDatabase`
  --> crates/ra_ide_api/src/db.rs:50:6
   |
50 | impl salsa::ParallelDatabase for RootDatabase {
   |      ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_db::SourceDatabaseStorage`
   = note: required because it appears within the type `db::__SalsaDatabaseStorage`
   = note: required because it appears within the type `salsa::runtime::SharedState<db::RootDatabase>`
   = note: required because of the requirements on the impl of `std::marker::Send` for `std::sync::Arc<salsa::runtime::SharedState<db::RootDatabase>>`
   = note: required because it appears within the type `salsa::runtime::Runtime<db::RootDatabase>`
   = note: required because it appears within the type `db::RootDatabase`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_hir::db::DefDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_hir::db::DefDatabaseStorage`
   = note: required because it appears within the type `db::__SalsaDatabaseStorage`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_db::SourceDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_db::SourceDatabaseStorage`
   = note: required because it appears within the type `db::__SalsaDatabaseKey`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_db::SourceDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_db::SourceDatabaseStorage`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: db::LineIndexDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `db::LineIndexDatabaseStorage`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: symbol_index::SymbolsDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `symbol_index::SymbolsDatabaseStorage`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_hir::db::HirDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_hir::db::HirDatabaseStorage`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_hir::db::DefDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_hir::db::DefDatabaseStorage`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_hir::db::DefDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_hir::db::DefDatabaseStorage`
   = note: required because it appears within the type `db::__SalsaDatabaseStorage`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_db::SourceDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_db::SourceDatabaseStorage`
   = note: required because it appears within the type `db::__SalsaDatabaseKey`

error[E0275]: overflow evaluating the requirement `db::RootDatabase: ra_db::SourceDatabase`
  --> crates/ra_ide_api/src/db.rs:13:1
   |
13 | / #[salsa::database(
14 | |     ra_db::SourceDatabaseStorage,
15 | |     LineIndexDatabaseStorage,
16 | |     symbol_index::SymbolsDatabaseStorage,
17 | |     hir::db::HirDatabaseStorage,
18 | |     hir::db::DefDatabaseStorage
19 | | )]
   | |__^
   |
   = note: required because of the requirements on the impl of `salsa::plumbing::QueryGroup<db::RootDatabase>` for `ra_db::SourceDatabaseStorage`
   = note: required because it appears within the type `db::__SalsaDatabaseKeyKind`

error: aborting due to 11 previous errors

For more information about this error, try `rustc --explain E0275`.
error: failed to compile `ra_lsp_server v0.1.0 (/home/cramertj/src/rust-analyzer/crates/ra_lsp_server)`, intermediate artifacts can be found at `/home/cramertj/src/rust-analyzer/target`

Caused by:
  Could not compile `ra_ide_api`.

To learn more, run the command again with --verbose.
Error: ErrorMessage { msg: "`cargo install --path crates/ra_lsp_server --force` exited with exit code: 101" }

@matklad
Copy link
Member

matklad commented May 17, 2019

This might be related to the infamous incremental compilation bug. Does rm -rf target/release/.incremental help?

@matklad
Copy link
Member

matklad commented May 18, 2019

I suspect that this is a nightly issue (or maybe a nightly feature) due to rust-lang/rust#60444.

For me, building with beta works. Building with rustc 1.36.0-nightly (73a3a90d2 2019-05-17) fails with overflow evaluating requirenment after 10 minutes of compiling.

matklad added a commit that referenced this issue May 18, 2019
Unfortunately, that `: RefUnwindSafe` bound gives rustc a hard time,
so let's remove it for know.

See

* #1283
* rust-lang/rust#60444
* rust-lang/rust#58291

closes #1283
@matklad
Copy link
Member

matklad commented May 21, 2019

This should have been closed automatically by fcffa6b ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants