about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJack Huey <jack.huey@umassmed.edu>2021-01-31 01:05:25 -0500
committerJack Huey <jack.huey@umassmed.edu>2021-02-02 12:37:22 -0500
commita0622d60e0679878950ebe13383eb960ebea6fd6 (patch)
treed03e78dde90ff69e0aa66e73ff33ff32b278e87d
parent4b64bc1fc9a48064c0571ad231add94c98673d8c (diff)
downloadrust-a0622d60e0679878950ebe13383eb960ebea6fd6.tar.gz
rust-a0622d60e0679878950ebe13383eb960ebea6fd6.zip
Update Chalk
-rw-r--r--Cargo.lock20
-rw-r--r--compiler/rustc_middle/Cargo.toml3
-rw-r--r--compiler/rustc_middle/src/traits/chalk.rs25
-rw-r--r--compiler/rustc_traits/Cargo.toml9
-rw-r--r--compiler/rustc_traits/src/chalk/db.rs4
-rw-r--r--compiler/rustc_traits/src/chalk/mod.rs1
m---------src/doc/book0
m---------src/doc/embedded-book0
m---------src/doc/nomicon0
m---------src/doc/reference0
m---------src/doc/rust-by-example0
m---------src/llvm-project0
-rw-r--r--src/test/ui/associated-type-bounds/atb.rs37
m---------src/tools/cargo0
m---------src/tools/rls0
m---------src/tools/rust-installer0
m---------src/tools/rustfmt10
-rw-r--r--src/tools/tidy/src/extdeps.rs4
18 files changed, 46 insertions, 67 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 8a207e53ca7..94acdc4cda1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -496,8 +496,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chalk-derive"
-version = "0.47.0-dev.0"
-source = "git+https://github.com/jackh726/chalk.git?rev=972534b01b54f96ff37e5afa4ce18d8a7cdd932d#972534b01b54f96ff37e5afa4ce18d8a7cdd932d"
+version = "0.55.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3983193cacd81f0f924acb666b7fe5e1a0d81db9f113fa69203eda7ea8ce8b6c"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -507,8 +508,9 @@ dependencies = [
 
 [[package]]
 name = "chalk-engine"
-version = "0.47.0-dev.0"
-source = "git+https://github.com/jackh726/chalk.git?rev=972534b01b54f96ff37e5afa4ce18d8a7cdd932d#972534b01b54f96ff37e5afa4ce18d8a7cdd932d"
+version = "0.55.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05a171ce5abbf0fbd06f221ab80ab182c7ef78603d23b858bc44e7ce8a86a396"
 dependencies = [
  "chalk-derive",
  "chalk-ir",
@@ -519,8 +521,9 @@ dependencies = [
 
 [[package]]
 name = "chalk-ir"
-version = "0.47.0-dev.0"
-source = "git+https://github.com/jackh726/chalk.git?rev=972534b01b54f96ff37e5afa4ce18d8a7cdd932d#972534b01b54f96ff37e5afa4ce18d8a7cdd932d"
+version = "0.55.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a522f53af971e7678f472d687e053120157b3ae26e2ebd5ecbc0f5ab124f2cb6"
 dependencies = [
  "bitflags",
  "chalk-derive",
@@ -529,8 +532,9 @@ dependencies = [
 
 [[package]]
 name = "chalk-solve"
-version = "0.47.0-dev.0"
-source = "git+https://github.com/jackh726/chalk.git?rev=972534b01b54f96ff37e5afa4ce18d8a7cdd932d#972534b01b54f96ff37e5afa4ce18d8a7cdd932d"
+version = "0.55.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdf79fb77a567e456a170f7ec84ea6584163d4ba3f13660cd182013d34ca667c"
 dependencies = [
  "chalk-derive",
  "chalk-ir",
diff --git a/compiler/rustc_middle/Cargo.toml b/compiler/rustc_middle/Cargo.toml
index d0b0dd9eb0d..d33aad3b710 100644
--- a/compiler/rustc_middle/Cargo.toml
+++ b/compiler/rustc_middle/Cargo.toml
@@ -26,8 +26,7 @@ rustc_index = { path = "../rustc_index" }
 rustc_serialize = { path = "../rustc_serialize" }
 rustc_ast = { path = "../rustc_ast" }
 rustc_span = { path = "../rustc_span" }
-#chalk-ir = {"0.46.0"}
-chalk-ir = { git = "https://github.com/jackh726/chalk.git", rev = "972534b01b54f96ff37e5afa4ce18d8a7cdd932d" }
+chalk-ir = "0.55.0"
 smallvec = { version = "1.0", features = ["union", "may_dangle"] }
 measureme = "9.0.0"
 rustc_session = { path = "../rustc_session" }
diff --git a/compiler/rustc_middle/src/traits/chalk.rs b/compiler/rustc_middle/src/traits/chalk.rs
index 7da83cd0ffa..74873778f74 100644
--- a/compiler/rustc_middle/src/traits/chalk.rs
+++ b/compiler/rustc_middle/src/traits/chalk.rs
@@ -87,17 +87,34 @@ impl<'tcx> chalk_ir::interner::Interner for RustInterner<'tcx> {
             write!(fmt, "{:?}", pci.consequence)?;
 
             let conditions = pci.conditions.interned();
+            let constraints = pci.constraints.interned();
 
             let conds = conditions.len();
-            if conds == 0 {
+            let consts = constraints.len();
+            if conds == 0 && consts == 0 {
                 return Ok(());
             }
 
             write!(fmt, " :- ")?;
-            for cond in &conditions[..conds - 1] {
-                write!(fmt, "{:?}, ", cond)?;
+
+            if conds != 0 {
+                for cond in &conditions[..conds - 1] {
+                    write!(fmt, "{:?}, ", cond)?;
+                }
+                write!(fmt, "{:?}", conditions[conds - 1])?;
+            }
+
+            if conds != 0 && consts != 0 {
+                write!(fmt, " ; ")?;
             }
-            write!(fmt, "{:?}", conditions[conds - 1])?;
+
+            if consts != 0 {
+                for constraint in &constraints[..consts - 1] {
+                    write!(fmt, "{:?}, ", constraint)?;
+                }
+                write!(fmt, "{:?}", constraints[consts - 1])?;
+            }
+
             Ok(())
         };
         Some(write())
diff --git a/compiler/rustc_traits/Cargo.toml b/compiler/rustc_traits/Cargo.toml
index 929b3810cc3..8fdbc3b76b4 100644
--- a/compiler/rustc_traits/Cargo.toml
+++ b/compiler/rustc_traits/Cargo.toml
@@ -13,12 +13,9 @@ rustc_hir = { path = "../rustc_hir" }
 rustc_index = { path = "../rustc_index" }
 rustc_ast = { path = "../rustc_ast" }
 rustc_span = { path = "../rustc_span" }
-#chalk-ir = "0.46.0"
-chalk-ir = { git = "https://github.com/jackh726/chalk.git", rev = "972534b01b54f96ff37e5afa4ce18d8a7cdd932d" }
-#chalk-solve = "0.46.0"
-chalk-solve = { git = "https://github.com/jackh726/chalk.git", rev = "972534b01b54f96ff37e5afa4ce18d8a7cdd932d" }
-#chalk-engine = "0.46.0"
-chalk-engine = { git = "https://github.com/jackh726/chalk.git", rev = "972534b01b54f96ff37e5afa4ce18d8a7cdd932d" }
+chalk-ir = "0.55.0"
+chalk-solve = "0.55.0"
+chalk-engine = "0.55.0"
 smallvec = { version = "1.0", features = ["union", "may_dangle"] }
 rustc_infer = { path = "../rustc_infer" }
 rustc_trait_selection = { path = "../rustc_trait_selection" }
diff --git a/compiler/rustc_traits/src/chalk/db.rs b/compiler/rustc_traits/src/chalk/db.rs
index 433e2fffc32..916186f4204 100644
--- a/compiler/rustc_traits/src/chalk/db.rs
+++ b/compiler/rustc_traits/src/chalk/db.rs
@@ -690,7 +690,7 @@ impl<'tcx> chalk_ir::UnificationDatabase<RustInterner<'tcx>> for RustIrDatabase<
         def_id: chalk_ir::FnDefId<RustInterner<'tcx>>,
     ) -> chalk_ir::Variances<RustInterner<'tcx>> {
         let variances = self.interner.tcx.variances_of(def_id.0);
-        chalk_ir::Variances::from(
+        chalk_ir::Variances::from_iter(
             &self.interner,
             variances.iter().map(|v| match v {
                 ty::Variance::Invariant => chalk_ir::Variance::Invariant,
@@ -706,7 +706,7 @@ impl<'tcx> chalk_ir::UnificationDatabase<RustInterner<'tcx>> for RustIrDatabase<
         def_id: chalk_ir::AdtId<RustInterner<'tcx>>,
     ) -> chalk_ir::Variances<RustInterner<'tcx>> {
         let variances = self.interner.tcx.variances_of(def_id.0.did);
-        chalk_ir::Variances::from(
+        chalk_ir::Variances::from_iter(
             &self.interner,
             variances.iter().map(|v| match v {
                 ty::Variance::Invariant => chalk_ir::Variance::Invariant,
diff --git a/compiler/rustc_traits/src/chalk/mod.rs b/compiler/rustc_traits/src/chalk/mod.rs
index 240807d72e4..d98f18182c8 100644
--- a/compiler/rustc_traits/src/chalk/mod.rs
+++ b/compiler/rustc_traits/src/chalk/mod.rs
@@ -97,7 +97,6 @@ crate fn evaluate_goal<'tcx>(
     use chalk_solve::Solver;
     let mut solver = chalk_engine::solve::SLGSolver::new(32, None);
     let db = ChalkRustIrDatabase { interner, reempty_placeholder };
-    //dbg!("evaluate_goal_pre", &obligation, &lowered_goal);
     let solution = solver.solve(&db, &lowered_goal);
     debug!(?obligation, ?solution, "evaluate goal");
 
diff --git a/src/doc/book b/src/doc/book
-Subproject 5bb44f8b5b0aa105c8b22602e9b18800484afa2
+Subproject e724bd826580ff95df48a8533af7dec1080693d
diff --git a/src/doc/embedded-book b/src/doc/embedded-book
-Subproject ba34b8a968f9531d38c4dc4411d5568b7c076bf
+Subproject ceec19e873be87c6ee5666b030c6bb612f889a9
diff --git a/src/doc/nomicon b/src/doc/nomicon
-Subproject a5a48441d411f61556b57d762b03d6874afe575
+Subproject bbf06ad39d1f45654047e9596b750cc6e6d1b69
diff --git a/src/doc/reference b/src/doc/reference
-Subproject b278478b766178491a8b6f67afa4bcd6b64d977
+Subproject f02b09eb6e8af340ad1256a54adb7aae2ff3163
diff --git a/src/doc/rust-by-example b/src/doc/rust-by-example
-Subproject 1cce0737d6a7d3ceafb139b4a206861fb1dcb2a
+Subproject f633769acef68574427a6fae6c06f13bc219957
diff --git a/src/llvm-project b/src/llvm-project
-Subproject 8d78ad13896b955f630714f386a95ed91b237e3
+Subproject f9a8d70b6e0365ac2172ca6b7f1de0341297458
diff --git a/src/test/ui/associated-type-bounds/atb.rs b/src/test/ui/associated-type-bounds/atb.rs
deleted file mode 100644
index 65a6a5ec23e..00000000000
--- a/src/test/ui/associated-type-bounds/atb.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-// run-pass
-// compile-flags: -Z verbose
-
-#![allow(unused)]
-#![feature(associated_type_bounds)]
-
-pub trait Beta {
-    type Gamma;
-}
-
-pub trait Delta {
-}
-
-pub trait Epsilon<'e> {
-    type Zeta;
-}
-
-pub trait Eta {
-}
-
-fn where_bound_region_forall2<B>(beta: B) -> usize
-where
-    B: Beta<Gamma: for<'a> Epsilon<'a, Zeta: Eta>>,
-{
-    desugared_bound_region_forall2(beta)
-}
-
-pub fn desugared_bound_region_forall2<B>(beta: B) -> usize
-where
-    B: Beta,
-    B::Gamma: for<'a> Epsilon<'a>,
-    for<'a> <B::Gamma as Epsilon<'a>>::Zeta: Eta,
-{
-    0
-}
-
-fn main() {}
diff --git a/src/tools/cargo b/src/tools/cargo
-Subproject 75d5d8cffe3464631f82dcd3c470b78dc1dda8b
+Subproject c3abcfe8a75901c7c701557a728941e8fb19399
diff --git a/src/tools/rls b/src/tools/rls
-Subproject 2cf84baa5e3c55ac02f42919e67440acb541712
+Subproject 88a58d1f484af31d87b75e1d17655b59910f41f
diff --git a/src/tools/rust-installer b/src/tools/rust-installer
-Subproject d66f476b4d5e7fdf1ec215c9ac16c923dc29232
+Subproject 5254dbfd25d5284728ab624dca1969d61427a0d
diff --git a/src/tools/rustfmt b/src/tools/rustfmt
-Subproject acd94866fd0ff5eacb7e184ae21c19e5440fc5f
+Subproject ea268b9f559fbafcfc24f4982173b01dfad9e44
diff --git a/src/tools/tidy/src/extdeps.rs b/src/tools/tidy/src/extdeps.rs
index 87366386e6f..aad57cacbb4 100644
--- a/src/tools/tidy/src/extdeps.rs
+++ b/src/tools/tidy/src/extdeps.rs
@@ -8,7 +8,7 @@ const ALLOWED_SOURCES: &[&str] = &["\"registry+https://github.com/rust-lang/crat
 
 /// Checks for external package sources. `root` is the path to the directory that contains the
 /// workspace `Cargo.toml`.
-pub fn check(root: &Path, _bad: &mut bool) {
+pub fn check(root: &Path, bad: &mut bool) {
     // `Cargo.lock` of rust.
     let path = root.join("Cargo.lock");
 
@@ -27,7 +27,7 @@ pub fn check(root: &Path, _bad: &mut bool) {
 
         // Ensure source is allowed.
         if !ALLOWED_SOURCES.contains(&&*source) {
-            //tidy_error!(bad, "invalid source: {}", source);
+            tidy_error!(bad, "invalid source: {}", source);
         }
     }
 }