Skip to content

Commit 8278976

Browse files
committed
rebase
1 parent 2b67f01 commit 8278976

File tree

6 files changed

+22
-8
lines changed

6 files changed

+22
-8
lines changed

compiler/rustc_trait_selection/src/traits/wf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,7 @@ impl<'a, 'tcx> TypeVisitor<TyCtxt<'tcx>> for WfPredicates<'a, 'tcx> {
718718
// FIXME(eddyb) add the type to `walker` instead of recursing.
719719
let fn_sig = tcx.fn_sig(did).instantiate(tcx, args);
720720
fn_sig.output().skip_binder().visit_with(self);
721-
721+
722722
let obligations = self.nominal_obligations(did, args);
723723
self.out.extend(obligations);
724724
}
@@ -863,7 +863,7 @@ impl<'a, 'tcx> TypeVisitor<TyCtxt<'tcx>> for WfPredicates<'a, 'tcx> {
863863

864864
fn visit_const(&mut self, c: <TyCtxt<'tcx> as ty::Interner>::Const) -> Self::Result {
865865
let tcx = self.tcx();
866-
866+
867867
match c.kind() {
868868
ty::ConstKind::Unevaluated(uv) => {
869869
if !c.has_escaping_bound_vars() {

tests/ui/proc-macro/bad-projection.rs

+1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ pub fn uwu() -> <() as Project>::Assoc {}
1515
//~^ ERROR the trait bound `(): Project` is not satisfied
1616
//~| ERROR the trait bound `(): Project` is not satisfied
1717
//~| ERROR the trait bound `(): Project` is not satisfied
18+
//~| ERROR the trait bound `(): Project` is not satisfied
1819
//~| ERROR function is expected to take 1 argument, but it takes 0 arguments

tests/ui/proc-macro/bad-projection.stderr

+13-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@ help: this trait has no implementations, consider adding one
3535
LL | trait Project {
3636
| ^^^^^^^^^^^^^
3737

38+
error[E0277]: the trait bound `(): Project` is not satisfied
39+
--> $DIR/bad-projection.rs:14:1
40+
|
41+
LL | pub fn uwu() -> <() as Project>::Assoc {}
42+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
43+
|
44+
help: this trait has no implementations, consider adding one
45+
--> $DIR/bad-projection.rs:9:1
46+
|
47+
LL | trait Project {
48+
| ^^^^^^^^^^^^^
49+
3850
error[E0277]: the trait bound `(): Project` is not satisfied
3951
--> $DIR/bad-projection.rs:14:40
4052
|
@@ -47,7 +59,7 @@ help: this trait has no implementations, consider adding one
4759
LL | trait Project {
4860
| ^^^^^^^^^^^^^
4961

50-
error: aborting due to 4 previous errors
62+
error: aborting due to 5 previous errors
5163

5264
Some errors have detailed explanations: E0277, E0593.
5365
For more information about an error, try `rustc --explain E0277`.

tests/ui/wf/wf-fn-def-check-sig-1.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ fn foo<'b, 'a>() -> PhantomData<&'b &'a ()> {
88

99
fn extend_lifetime<'a, 'b, T: ?Sized>(x: &'a T) -> &'b T {
1010
let f = foo::<'b, 'a>;
11-
//~^ ERROR lifetime may not live long enough
1211
f.baz(x)
12+
//~^ ERROR lifetime may not live long enough
1313
}
1414

1515
trait Foo<'a, 'b, T: ?Sized> {
+4-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
error: lifetime may not live long enough
2-
--> $DIR/wf-fn-def-check-sig-1.rs:10:13
2+
--> $DIR/wf-fn-def-check-sig-1.rs:11:5
33
|
44
LL | fn extend_lifetime<'a, 'b, T: ?Sized>(x: &'a T) -> &'b T {
55
| -- -- lifetime `'b` defined here
66
| |
77
| lifetime `'a` defined here
88
LL | let f = foo::<'b, 'a>;
9-
| ^^^^^^^^^^^^^ requires that `'a` must outlive `'b`
9+
LL | f.baz(x)
10+
| ^^^^^^^^ function was supposed to return data with lifetime `'b` but it is returning data with lifetime `'a`
1011
|
1112
= help: consider adding the following bound: `'a: 'b`
1213

13-
error: aborting due to previous error
14+
error: aborting due to 1 previous error
1415

tests/ui/wf/wf-fn-def-check-sig-2.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ LL | f.baz(x)
1111
|
1212
= help: consider adding the following bound: `'a: 'b`
1313

14-
error: aborting due to previous error
14+
error: aborting due to 1 previous error
1515

0 commit comments

Comments
 (0)