Move /src/test to /tests
This commit is contained in:
parent
ca855e6e42
commit
cf2dff2b1e
27592 changed files with 0 additions and 0 deletions
|
@ -0,0 +1,44 @@
|
|||
struct TupleStruct<S, T>(S, T);
|
||||
|
||||
enum Enum<S, T> {
|
||||
SingleVariant(S, T)
|
||||
}
|
||||
|
||||
type Alias<S> = Enum<S, isize>;
|
||||
|
||||
trait Test {
|
||||
fn test() -> TupleStruct<isize, isize> {
|
||||
TupleStruct(0, 0)
|
||||
}
|
||||
}
|
||||
|
||||
impl Test for Alias<isize> {}
|
||||
|
||||
fn test() -> TupleStruct<isize, isize> {
|
||||
TupleStruct(0, 0)
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let (mut a, mut b);
|
||||
TupleStruct(a, .., b, ..) = TupleStruct(0, 1);
|
||||
//~^ ERROR `..` can only be used once per tuple struct or variant pattern
|
||||
Enum::SingleVariant(a, .., b, ..) = Enum::SingleVariant(0, 1);
|
||||
//~^ ERROR `..` can only be used once per tuple struct or variant pattern
|
||||
|
||||
TupleStruct(a, a, b) = TupleStruct(1, 2);
|
||||
//~^ ERROR this pattern has 3 fields, but the corresponding tuple struct has 2 fields
|
||||
TupleStruct(_) = TupleStruct(1, 2);
|
||||
//~^ ERROR this pattern has 1 field, but the corresponding tuple struct has 2 fields
|
||||
Enum::SingleVariant(a, a, b) = Enum::SingleVariant(1, 2);
|
||||
//~^ ERROR this pattern has 3 fields, but the corresponding tuple variant has 2 fields
|
||||
Enum::SingleVariant(_) = Enum::SingleVariant(1, 2);
|
||||
//~^ ERROR this pattern has 1 field, but the corresponding tuple variant has 2 fields
|
||||
|
||||
// Check if `test` is recognized as not a tuple struct but a function call:
|
||||
test() = TupleStruct(0, 0);
|
||||
//~^ ERROR invalid left-hand side of assignment
|
||||
(test)() = TupleStruct(0, 0);
|
||||
//~^ ERROR invalid left-hand side of assignment
|
||||
<Alias::<isize> as Test>::test() = TupleStruct(0, 0);
|
||||
//~^ ERROR invalid left-hand side of assignment
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue