1
Fork 0

fix up a fluent message

This commit is contained in:
León Orell Valerian Liehr 2022-11-13 04:10:56 +01:00
parent 6284998a26
commit 23dadb5617
No known key found for this signature in database
GPG key ID: CD75E31CE2CFD7D9
3 changed files with 31 additions and 3 deletions

View file

@ -126,10 +126,10 @@ infer_data_lifetime_flow = ...but data with one lifetime flows into the other he
infer_declared_multiple = this type is declared with multiple lifetimes... infer_declared_multiple = this type is declared with multiple lifetimes...
infer_types_declared_different = these two types are declared with different lifetimes... infer_types_declared_different = these two types are declared with different lifetimes...
infer_data_flows = ...but data{$label_var1_exists -> infer_data_flows = ...but data{$label_var1_exists ->
[true] -> {" "}from `{$label_var1}` [true] {" "}from `{$label_var1}`
*[false] -> {""} *[false] -> {""}
} flows{$label_var2_exists -> } flows{$label_var2_exists ->
[true] -> {" "}into `{$label_var2}` [true] {" "}into `{$label_var2}`
*[false] -> {""} *[false] -> {""}
} here } here

View file

@ -31,6 +31,16 @@ fn badboi<'in_, 'out, T>(x: Foo<'in_, 'out, T>, sadness: &'in_ T) -> &'out T {
sadness.cast() sadness.cast()
} }
fn badboi2<'in_, 'out, T>(x: Foo<'in_, 'out, T>, sadness: &'in_ T) {
//~^ ERROR lifetime mismatch
let _: &'out T = sadness.cast();
}
fn badboi3<'in_, 'out, T>(a: Foo<'in_, 'out, (&'in_ T, &'out T)>, sadness: &'in_ T) {
//~^ ERROR lifetime mismatch
let _: &'out T = sadness.cast();
}
fn bad<'short, T>(value: &'short T) -> &'static T { fn bad<'short, T>(value: &'short T) -> &'static T {
let x: for<'in_, 'out> fn(Foo<'in_, 'out, T>, &'in_ T) -> &'out T = badboi; let x: for<'in_, 'out> fn(Foo<'in_, 'out, T>, &'in_ T) -> &'out T = badboi;
let x: for<'out> fn(Foo<'short, 'out, T>, &'short T) -> &'out T = x; let x: for<'out> fn(Foo<'short, 'out, T>, &'short T) -> &'out T = x;

View file

@ -7,6 +7,24 @@ LL | fn badboi<'in_, 'out, T>(x: Foo<'in_, 'out, T>, sadness: &'in_ T) -> &'out
| this parameter and the return type are declared with different lifetimes... | this parameter and the return type are declared with different lifetimes...
| ...but data from `x` is returned here | ...but data from `x` is returned here
error: aborting due to previous error error[E0623]: lifetime mismatch
--> $DIR/hrlt-implied-trait-bounds-guard.rs:34:30
|
LL | fn badboi2<'in_, 'out, T>(x: Foo<'in_, 'out, T>, sadness: &'in_ T) {
| ^^^^^^^^^^^^^^^^^^
| |
| this type is declared with multiple lifetimes...
| ...but data with one lifetime flows into the other here
error[E0623]: lifetime mismatch
--> $DIR/hrlt-implied-trait-bounds-guard.rs:39:30
|
LL | fn badboi3<'in_, 'out, T>(a: Foo<'in_, 'out, (&'in_ T, &'out T)>, sadness: &'in_ T) {
| ^^^^^^^^^^^^^^^^^-------^^-------^^
| | |
| | these two types are declared with different lifetimes...
| ...but data from `a` flows into `a` here
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0623`. For more information about this error, try `rustc --explain E0623`.