Skip to content

Commit

Permalink
More tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Veetaha committed Dec 7, 2024
1 parent ecf4347 commit 83119f8
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 30 deletions.
17 changes: 17 additions & 0 deletions bon/tests/integration/ui/compile_fail/attr_getter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,23 @@ struct NoDeref {
x3: String,
}

#[derive(Builder)]
struct CopyCloneExclusion {
#[builder(getter(copy, clone))]
x1: u32,
}

#[derive(Builder)]
struct CopyDerefExclusion {
#[builder(getter(copy, deref))]
x1: u32,
}

#[derive(Builder)]
struct CloneDerefExclusion {
#[builder(getter(clone, deref))]
x1: u32,
}

fn main() {
let builder = NegativeTest::builder();
Expand Down
78 changes: 48 additions & 30 deletions bon/tests/integration/ui/compile_fail/attr_getter.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,24 @@ error: `getter` attribute can't be specified together with `overwritable`
23 | #[builder(getter, overwritable)]
| ^^^^^^

error: `copy` can't be specified together with `clone`
--> tests/integration/ui/compile_fail/attr_getter.rs:80:22
|
80 | #[builder(getter(copy, clone))]
| ^^^^

error: `copy` can't be specified together with `deref`
--> tests/integration/ui/compile_fail/attr_getter.rs:86:22
|
86 | #[builder(getter(copy, deref))]
| ^^^^

error: `clone` can't be specified together with `deref`
--> tests/integration/ui/compile_fail/attr_getter.rs:92:22
|
92 | #[builder(getter(clone, deref))]
| ^^^^^

error[E0277]: the trait bound `String: std::marker::Copy` is not satisfied
--> tests/integration/ui/compile_fail/attr_getter.rs:42:9
|
Expand Down Expand Up @@ -161,9 +179,9 @@ note: tuple variant defined here
= note: this error originates in the derive macro `Builder` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the member `Unset<negative_test_builder::members::x1>` was not set, but this method requires it to be set
--> tests/integration/ui/compile_fail/attr_getter.rs:82:13
--> tests/integration/ui/compile_fail/attr_getter.rs:99:13
|
82 | builder.get_x1();
99 | builder.get_x1();
| ^^^^^^ the member `Unset<negative_test_builder::members::x1>` was not set, but this method requires it to be set
|
= help: the trait `IsSet` is not implemented for `Unset<negative_test_builder::members::x1>`
Expand All @@ -179,37 +197,37 @@ note: required by a bound in `NegativeTestBuilder::<S>::get_x1`
= note: this error originates in the derive macro `Builder` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the member `Unset<negative_test_builder::members::x2>` was not set, but this method requires it to be set
--> tests/integration/ui/compile_fail/attr_getter.rs:83:13
|
83 | builder.get_x2();
| ^^^^^^ the member `Unset<negative_test_builder::members::x2>` was not set, but this method requires it to be set
|
= help: the trait `IsSet` is not implemented for `Unset<negative_test_builder::members::x2>`
= help: the trait `IsSet` is implemented for `Set<Name>`
--> tests/integration/ui/compile_fail/attr_getter.rs:100:13
|
100 | builder.get_x2();
| ^^^^^^ the member `Unset<negative_test_builder::members::x2>` was not set, but this method requires it to be set
|
= help: the trait `IsSet` is not implemented for `Unset<negative_test_builder::members::x2>`
= help: the trait `IsSet` is implemented for `Set<Name>`
note: required by a bound in `NegativeTestBuilder::<S>::get_x2`
--> tests/integration/ui/compile_fail/attr_getter.rs:27:10
|
27 | #[derive(Builder)]
| ^^^^^^^ required by this bound in `NegativeTestBuilder::<S>::get_x2`
--> tests/integration/ui/compile_fail/attr_getter.rs:27:10
|
27 | #[derive(Builder)]
| ^^^^^^^ required by this bound in `NegativeTestBuilder::<S>::get_x2`
...
33 | x2: Option<u32>,
| -- required by a bound in this associated function
= note: this error originates in the derive macro `Builder` (in Nightly builds, run with -Z macro-backtrace for more info)
33 | x2: Option<u32>,
| -- required by a bound in this associated function
= note: this error originates in the derive macro `Builder` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the member `Unset<negative_test_builder::members::x3>` was not set, but this method requires it to be set
--> tests/integration/ui/compile_fail/attr_getter.rs:84:13
|
84 | builder.get_x3();
| ^^^^^^ the member `Unset<negative_test_builder::members::x3>` was not set, but this method requires it to be set
|
= help: the trait `IsSet` is not implemented for `Unset<negative_test_builder::members::x3>`
= help: the trait `IsSet` is implemented for `Set<Name>`
--> tests/integration/ui/compile_fail/attr_getter.rs:101:13
|
101 | builder.get_x3();
| ^^^^^^ the member `Unset<negative_test_builder::members::x3>` was not set, but this method requires it to be set
|
= help: the trait `IsSet` is not implemented for `Unset<negative_test_builder::members::x3>`
= help: the trait `IsSet` is implemented for `Set<Name>`
note: required by a bound in `NegativeTestBuilder::<S>::get_x3`
--> tests/integration/ui/compile_fail/attr_getter.rs:27:10
|
27 | #[derive(Builder)]
| ^^^^^^^ required by this bound in `NegativeTestBuilder::<S>::get_x3`
--> tests/integration/ui/compile_fail/attr_getter.rs:27:10
|
27 | #[derive(Builder)]
| ^^^^^^^ required by this bound in `NegativeTestBuilder::<S>::get_x3`
...
36 | x3: u32,
| -- required by a bound in this associated function
= note: this error originates in the derive macro `Builder` (in Nightly builds, run with -Z macro-backtrace for more info)
36 | x3: u32,
| -- required by a bound in this associated function
= note: this error originates in the derive macro `Builder` (in Nightly builds, run with -Z macro-backtrace for more info)

0 comments on commit 83119f8

Please sign in to comment.