| #![allow(dead_code)] | |
| 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 may not live long enough | |
| //~| ERROR: `tableau` does not live long enough | |
| } //~ ERROR `main` function not found in crate |