diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-04-16 05:14:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-16 05:14:21 +0200 |
| commit | bdf24732897e17120753244f76dceba04a027e7d (patch) | |
| tree | 74167c203cd2dd7c490a565e117eeb630508b10c /src/test | |
| parent | d9422f00a0f84c62b9232b485ef98585b0f5bc86 (diff) | |
| parent | 13a05a27e9a5747cad090b1670c0a6b0baa624b9 (diff) | |
| download | rust-bdf24732897e17120753244f76dceba04a027e7d.tar.gz rust-bdf24732897e17120753244f76dceba04a027e7d.zip | |
Rollup merge of #59903 - estebank:after-main, r=oli-obk
Continue evaluating after missing main
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/continue-after-missing-main.rs | 32 | ||||
| -rw-r--r-- | src/test/ui/continue-after-missing-main.stderr | 17 |
2 files changed, 49 insertions, 0 deletions
diff --git a/src/test/ui/continue-after-missing-main.rs b/src/test/ui/continue-after-missing-main.rs new file mode 100644 index 00000000000..7455c2a431d --- /dev/null +++ b/src/test/ui/continue-after-missing-main.rs @@ -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 +} diff --git a/src/test/ui/continue-after-missing-main.stderr b/src/test/ui/continue-after-missing-main.stderr new file mode 100644 index 00000000000..8d64fee8bda --- /dev/null +++ b/src/test/ui/continue-after-missing-main.stderr @@ -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`. |
