about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2019-08-28 07:10:47 +0900
committerYuki Okushi <huyuumi.dev@gmail.com>2019-08-28 07:11:12 +0900
commit8c921beebbc4501f301cd1830b7c2528368e517a (patch)
tree9a17a5e45e95963b675ae9d97b65f16f4508f519
parent82f2b376357e68cdde86d75259fed39ea4df79e3 (diff)
downloadrust-8c921beebbc4501f301cd1830b7c2528368e517a.tar.gz
rust-8c921beebbc4501f301cd1830b7c2528368e517a.zip
Apply review comments
-rw-r--r--src/librustc_mir/transform/qualify_consts.rs2
-rw-r--r--src/librustc_mir/util/elaborate_drops.rs5
-rw-r--r--src/librustc_typeck/check/cast.rs2
-rw-r--r--src/librustc_typeck/check/mod.rs2
-rw-r--r--src/test/ui/lang-item-missing.stderr4
-rw-r--r--src/test/ui/privacy/privacy2.rs2
-rw-r--r--src/test/ui/privacy/privacy2.stderr4
-rw-r--r--src/test/ui/privacy/privacy3.rs2
-rw-r--r--src/test/ui/privacy/privacy3.stderr4
9 files changed, 21 insertions, 6 deletions
diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs
index a59bd6677cb..a77421ce150 100644
--- a/src/librustc_mir/transform/qualify_consts.rs
+++ b/src/librustc_mir/transform/qualify_consts.rs
@@ -1754,7 +1754,7 @@ impl<'tcx> MirPass<'tcx> for QualifyAndPromoteConstants<'tcx> {
                                               ty,
                                               tcx.require_lang_item(
                                                   lang_items::SyncTraitLangItem,
-                                                  None
+                                                  Some(body.span)
                                               ),
                                               cause);
                 if let Err(err) = fulfillment_cx.select_all_or_error(&infcx) {
diff --git a/src/librustc_mir/util/elaborate_drops.rs b/src/librustc_mir/util/elaborate_drops.rs
index 3e9e4b7767f..f3e03e7f81d 100644
--- a/src/librustc_mir/util/elaborate_drops.rs
+++ b/src/librustc_mir/util/elaborate_drops.rs
@@ -897,7 +897,10 @@ where
     ) -> BasicBlock {
         let tcx = self.tcx();
         let unit_temp = Place::from(self.new_temp(tcx.mk_unit()));
-        let free_func = tcx.require_lang_item(lang_items::BoxFreeFnLangItem, None);
+        let free_func = tcx.require_lang_item(
+            lang_items::BoxFreeFnLangItem,
+            Some(self.source_info.span)
+        );
         let args = adt.variants[VariantIdx::new(0)].fields.iter().enumerate().map(|(i, f)| {
             let field = Field::new(i);
             let field_ty = f.ty(self.tcx(), substs);
diff --git a/src/librustc_typeck/check/cast.rs b/src/librustc_typeck/check/cast.rs
index 55e7a10f1aa..6b88144d1fc 100644
--- a/src/librustc_typeck/check/cast.rs
+++ b/src/librustc_typeck/check/cast.rs
@@ -649,7 +649,7 @@ impl<'a, 'tcx> CastCheck<'tcx> {
 
 impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
     fn type_is_known_to_be_sized_modulo_regions(&self, ty: Ty<'tcx>, span: Span) -> bool {
-        let lang_item = self.tcx.require_lang_item(lang_items::SizedTraitLangItem, None);
+        let lang_item = self.tcx.require_lang_item(lang_items::SizedTraitLangItem, Some(span));
         traits::type_known_to_meet_bound_modulo_regions(self, self.param_env, ty, lang_item, span)
     }
 }
diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs
index 29fae13e6a8..62e11fb421e 100644
--- a/src/librustc_typeck/check/mod.rs
+++ b/src/librustc_typeck/check/mod.rs
@@ -2622,7 +2622,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
                                  span: Span,
                                  code: traits::ObligationCauseCode<'tcx>)
     {
-        let lang_item = self.tcx.require_lang_item(lang_items::SizedTraitLangItem, None);
+        let lang_item = self.tcx.require_lang_item(lang_items::SizedTraitLangItem, Some(span));
         self.require_type_meets(ty, span, code, lang_item);
     }
 
diff --git a/src/test/ui/lang-item-missing.stderr b/src/test/ui/lang-item-missing.stderr
index f7516c7d377..94d62023f35 100644
--- a/src/test/ui/lang-item-missing.stderr
+++ b/src/test/ui/lang-item-missing.stderr
@@ -1,4 +1,8 @@
 error: requires `sized` lang_item
+  --> $DIR/lang-item-missing.rs:10:50
+   |
+LL | fn start(argc: isize, argv: *const *const u8) -> isize {
+   |                                                  ^^^^^
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/privacy/privacy2.rs b/src/test/ui/privacy/privacy2.rs
index c8fa436bd14..07634d9132e 100644
--- a/src/test/ui/privacy/privacy2.rs
+++ b/src/test/ui/privacy/privacy2.rs
@@ -11,7 +11,7 @@ mod bar {
     }
 }
 
-pub fn foo() {}
+pub fn foo() {} //~ ERROR: requires `sized` lang_item
 
 fn test1() {
     use bar::foo;
diff --git a/src/test/ui/privacy/privacy2.stderr b/src/test/ui/privacy/privacy2.stderr
index 9f2359657bd..eaa9f1ad652 100644
--- a/src/test/ui/privacy/privacy2.stderr
+++ b/src/test/ui/privacy/privacy2.stderr
@@ -11,6 +11,10 @@ LL |     use bar::glob::foo;
    |                    ^^^
 
 error: requires `sized` lang_item
+  --> $DIR/privacy2.rs:14:14
+   |
+LL | pub fn foo() {}
+   |              ^
 
 error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/privacy/privacy3.rs b/src/test/ui/privacy/privacy3.rs
index 5a7cd76a98f..8853700180d 100644
--- a/src/test/ui/privacy/privacy3.rs
+++ b/src/test/ui/privacy/privacy3.rs
@@ -8,7 +8,7 @@ mod bar {
     pub use self::glob::*;
 
     mod glob {
-        fn gpriv() {}
+        fn gpriv() {} //~ ERROR: requires `sized` lang_item
     }
 }
 
diff --git a/src/test/ui/privacy/privacy3.stderr b/src/test/ui/privacy/privacy3.stderr
index 22c1e48b07d..6826fbf9df2 100644
--- a/src/test/ui/privacy/privacy3.stderr
+++ b/src/test/ui/privacy/privacy3.stderr
@@ -5,6 +5,10 @@ LL |     use bar::gpriv;
    |         ^^^^^^^^^^ no `gpriv` in `bar`
 
 error: requires `sized` lang_item
+  --> $DIR/privacy3.rs:11:20
+   |
+LL |         fn gpriv() {}
+   |                    ^
 
 error: aborting due to 2 previous errors