diff options
Diffstat (limited to 'tests/ui/higher-rank-trait-bounds/hrtb-precedence-of-plus-where-clause.rs')
-rw-r--r-- | tests/ui/higher-rank-trait-bounds/hrtb-precedence-of-plus-where-clause.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/higher-rank-trait-bounds/hrtb-precedence-of-plus-where-clause.rs b/tests/ui/higher-rank-trait-bounds/hrtb-precedence-of-plus-where-clause.rs new file mode 100644 index 000000000..42247798f --- /dev/null +++ b/tests/ui/higher-rank-trait-bounds/hrtb-precedence-of-plus-where-clause.rs @@ -0,0 +1,25 @@ +// run-pass +#![allow(dead_code)] +#![allow(unused_variables)] +// pretty-expanded FIXME #23616 + +// Test that `F : Fn(isize) -> isize + Send` is interpreted as two +// distinct bounds on `F`. + +fn foo1<F>(f: F) + where F : FnOnce(isize) -> isize + Send +{ + bar(f); +} + +fn foo2<F>(f: F) + where F : FnOnce(isize) -> isize + Send +{ + baz(f); +} + +fn bar<F:Send>(f: F) { } + +fn baz<F:FnOnce(isize) -> isize>(f: F) { } + +fn main() {} |