Skip to content

Commit

Permalink
Moved error ui to trybuild tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pksunkara committed Jan 18, 2021
1 parent cba105b commit e47f4c8
Show file tree
Hide file tree
Showing 197 changed files with 3,026 additions and 688 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
target
Cargo.lock
!diesel_cli/Cargo.lock
.env
.env
3 changes: 1 addition & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ members = [
"diesel",
"diesel_cli",
"diesel_derives",
# FIXME: getting "multiple matching crates for `diesel`" because of the shared build directory
# "diesel_compile_tests",
"diesel_compile_tests",
"diesel_tests",
"diesel_migrations",
"diesel_migrations/migrations_internals",
Expand Down
4 changes: 1 addition & 3 deletions diesel_compile_tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name = "diesel_compile_tests"
version = "0.1.0"
authors = ["Sean Griffin <[email protected]>"]

[workspace]

[dependencies]
diesel = { version = "2.0.0", default-features = false, features = ["extras", "sqlite", "postgres", "mysql", "unstable"], path = "../diesel" }
compiletest_rs = "=0.4"
trybuild = "1.0.35"
36 changes: 0 additions & 36 deletions diesel_compile_tests/tests/compile-fail/must_use_query_methods.rs

This file was deleted.

This file was deleted.

32 changes: 0 additions & 32 deletions diesel_compile_tests/tests/compile_tests.rs

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#[macro_use]
extern crate diesel;

use diesel::*;
Expand All @@ -18,15 +17,7 @@ table! {
fn main() {
use diesel::dsl::*;
let source = users::table.select(sum(posts::id));
//~^ ERROR E0277
//~| ERROR AppearsInFromClause
let source = users::table.select(avg(posts::id));
//~^ ERROR E0277
//~| ERROR AppearsInFromClause
let source = users::table.select(max(posts::id));
//~^ ERROR E0277
//~| ERROR AppearsInFromClause
let source = users::table.select(min(posts::id));
//~^ ERROR E0277
//~| ERROR AppearsInFromClause
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
error[E0277]: the trait bound `posts::columns::id: diesel::SelectableExpression<users::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:19:38
|
19 | let source = users::table.select(sum(posts::id));
| ^^^^^^^^^^^^^^ the trait `diesel::SelectableExpression<users::table>` is not implemented for `posts::columns::id`
|
= help: the following implementations were found:
<posts::columns::id as diesel::SelectableExpression<diesel::query_builder::SelectStatement<From>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::Inner>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::LeftOuter>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::JoinOn<Join, On>>>
<posts::columns::id as diesel::SelectableExpression<posts::table>>
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_folding::sum::sum<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_folding::sum::sum<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`

error[E0277]: the trait bound `users::table: diesel::query_source::AppearsInFromClause<posts::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:19:31
|
19 | let source = users::table.select(sum(posts::id));
| ^^^^^^ the trait `diesel::query_source::AppearsInFromClause<posts::table>` is not implemented for `users::table`
|
= help: the following implementations were found:
<users::table as diesel::query_source::AppearsInFromClause<users::table>>
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `posts::columns::id`
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_folding::sum::sum<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_folding::sum::sum<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`

error[E0277]: the trait bound `posts::columns::id: diesel::SelectableExpression<users::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:20:38
|
20 | let source = users::table.select(avg(posts::id));
| ^^^^^^^^^^^^^^ the trait `diesel::SelectableExpression<users::table>` is not implemented for `posts::columns::id`
|
= help: the following implementations were found:
<posts::columns::id as diesel::SelectableExpression<diesel::query_builder::SelectStatement<From>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::Inner>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::LeftOuter>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::JoinOn<Join, On>>>
<posts::columns::id as diesel::SelectableExpression<posts::table>>
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_folding::avg::avg<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_folding::avg::avg<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`

error[E0277]: the trait bound `users::table: diesel::query_source::AppearsInFromClause<posts::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:20:31
|
20 | let source = users::table.select(avg(posts::id));
| ^^^^^^ the trait `diesel::query_source::AppearsInFromClause<posts::table>` is not implemented for `users::table`
|
= help: the following implementations were found:
<users::table as diesel::query_source::AppearsInFromClause<users::table>>
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `posts::columns::id`
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_folding::avg::avg<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_folding::avg::avg<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`

error[E0277]: the trait bound `posts::columns::id: diesel::SelectableExpression<users::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:21:38
|
21 | let source = users::table.select(max(posts::id));
| ^^^^^^^^^^^^^^ the trait `diesel::SelectableExpression<users::table>` is not implemented for `posts::columns::id`
|
= help: the following implementations were found:
<posts::columns::id as diesel::SelectableExpression<diesel::query_builder::SelectStatement<From>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::Inner>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::LeftOuter>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::JoinOn<Join, On>>>
<posts::columns::id as diesel::SelectableExpression<posts::table>>
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_ordering::max::max<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_ordering::max::max<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`

error[E0277]: the trait bound `users::table: diesel::query_source::AppearsInFromClause<posts::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:21:31
|
21 | let source = users::table.select(max(posts::id));
| ^^^^^^ the trait `diesel::query_source::AppearsInFromClause<posts::table>` is not implemented for `users::table`
|
= help: the following implementations were found:
<users::table as diesel::query_source::AppearsInFromClause<users::table>>
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `posts::columns::id`
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_ordering::max::max<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_ordering::max::max<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`

error[E0277]: the trait bound `posts::columns::id: diesel::SelectableExpression<users::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:22:38
|
22 | let source = users::table.select(min(posts::id));
| ^^^^^^^^^^^^^^ the trait `diesel::SelectableExpression<users::table>` is not implemented for `posts::columns::id`
|
= help: the following implementations were found:
<posts::columns::id as diesel::SelectableExpression<diesel::query_builder::SelectStatement<From>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::Inner>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::Join<Left, Right, diesel::query_source::joins::LeftOuter>>>
<posts::columns::id as diesel::SelectableExpression<diesel::query_source::joins::JoinOn<Join, On>>>
<posts::columns::id as diesel::SelectableExpression<posts::table>>
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_ordering::min::min<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_ordering::min::min<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`

error[E0277]: the trait bound `users::table: diesel::query_source::AppearsInFromClause<posts::table>` is not satisfied
--> $DIR/aggregate_expression_requires_column_from_same_table.rs:22:31
|
22 | let source = users::table.select(min(posts::id));
| ^^^^^^ the trait `diesel::query_source::AppearsInFromClause<posts::table>` is not implemented for `users::table`
|
= help: the following implementations were found:
<users::table as diesel::query_source::AppearsInFromClause<users::table>>
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `posts::columns::id`
= note: required because of the requirements on the impl of `diesel::AppearsOnTable<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::nullable::Nullable<posts::columns::id>`
= note: required because of the requirements on the impl of `diesel::SelectableExpression<users::table>` for `diesel::expression::functions::aggregate_ordering::min::min<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>`
= note: required because of the requirements on the impl of `diesel::query_dsl::select_dsl::SelectDsl<diesel::expression::functions::aggregate_ordering::min::min<diesel::sql_types::Integer, diesel::expression::nullable::Nullable<posts::columns::id>>>` for `diesel::query_builder::SelectStatement<users::table>`
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#[macro_use] extern crate diesel;
extern crate diesel;

use diesel::*;
use diesel::dsl::*;
use diesel::*;

table! {
stuff {
Expand Down Expand Up @@ -29,5 +29,4 @@ fn main() {

let _ = stuff.filter(name.eq(any(more_stuff::names)))
.load(&conn);
//~^ ERROR AppearsInFromClause
}
Loading

0 comments on commit e47f4c8

Please sign in to comment.