]> git.lizzy.rs Git - rust.git/blob - tests/ui/feature-gates/feature-gate-unsized_fn_params.rs
Rollup merge of #106664 - chenyukang:yukang/fix-106597-remove-lseek, r=cuviper
[rust.git] / tests / ui / feature-gates / feature-gate-unsized_fn_params.rs
1 #![allow(unused, bare_trait_objects)]
2 #[repr(align(256))]
3 struct A {
4     v: u8,
5 }
6
7 trait Foo {
8     fn foo(&self);
9 }
10
11 impl Foo for A {
12     fn foo(&self) {
13         assert_eq!(self as *const A as usize % 256, 0);
14     }
15 }
16
17 fn foo(x: dyn Foo) { //~ ERROR [E0277]
18     x.foo()
19 }
20
21 fn bar(x: Foo) { //~ ERROR [E0277]
22     x.foo()
23 }
24
25 fn qux(_: [()]) {} //~ ERROR [E0277]
26
27 fn main() {
28     let x: Box<dyn Foo> = Box::new(A { v: 22 });
29     foo(*x); //~ ERROR [E0277]
30 }