Rollup merge of #59903 - estebank:after-main, r=oli-obk
Continue evaluating after missing main
This commit is contained in:
commit
bdf2473289
4 changed files with 55 additions and 3 deletions
32
src/test/ui/continue-after-missing-main.rs
Normal file
32
src/test/ui/continue-after-missing-main.rs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#![allow(dead_code)]
|
||||
|
||||
// error-pattern:`main` function not found in crate
|
||||
|
||||
struct Tableau<'a, MP> {
|
||||
provider: &'a MP,
|
||||
}
|
||||
|
||||
impl<'adapted_matrix_provider, 'original_data, MP>
|
||||
Tableau<'adapted_matrix_provider, AdaptedMatrixProvider<'original_data, MP>>
|
||||
{
|
||||
fn provider(&self) -> &'adapted_matrix_provider AdaptedMatrixProvider</*'original_data,*/ MP> {
|
||||
self.provider
|
||||
}
|
||||
}
|
||||
|
||||
struct AdaptedMatrixProvider<'a, T> {
|
||||
original_problem: &'a T,
|
||||
}
|
||||
|
||||
impl<'a, T> AdaptedMatrixProvider<'a, T> {
|
||||
fn clone_with_extra_bound(&self) -> Self {
|
||||
AdaptedMatrixProvider { original_problem: self.original_problem }
|
||||
}
|
||||
}
|
||||
|
||||
fn create_and_solve_subproblems<'data_provider, 'original_data, MP>(
|
||||
tableau: Tableau<'data_provider, AdaptedMatrixProvider<'original_data, MP>>,
|
||||
) {
|
||||
let _: AdaptedMatrixProvider<'original_data, MP> = tableau.provider().clone_with_extra_bound();
|
||||
//~^ ERROR lifetime mismatch
|
||||
}
|
||||
17
src/test/ui/continue-after-missing-main.stderr
Normal file
17
src/test/ui/continue-after-missing-main.stderr
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
error[E0601]: `main` function not found in crate `continue_after_missing_main`
|
||||
|
|
||||
= note: consider adding a `main` function to `$DIR/continue-after-missing-main.rs`
|
||||
|
||||
error[E0623]: lifetime mismatch
|
||||
--> $DIR/continue-after-missing-main.rs:30:56
|
||||
|
|
||||
LL | tableau: Tableau<'data_provider, AdaptedMatrixProvider<'original_data, MP>>,
|
||||
| ------------------------------------------------------------------ these two types are declared with different lifetimes...
|
||||
LL | ) {
|
||||
LL | let _: AdaptedMatrixProvider<'original_data, MP> = tableau.provider().clone_with_extra_bound();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...but data from `tableau` flows into `tableau` here
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
Some errors occurred: E0601, E0623.
|
||||
For more information about an error, try `rustc --explain E0601`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue