diff options
Diffstat (limited to 'tests/ui/borrowck/move-in-static-initializer-issue-38520.rs')
-rw-r--r-- | tests/ui/borrowck/move-in-static-initializer-issue-38520.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/ui/borrowck/move-in-static-initializer-issue-38520.rs b/tests/ui/borrowck/move-in-static-initializer-issue-38520.rs new file mode 100644 index 000000000..c2a59a105 --- /dev/null +++ b/tests/ui/borrowck/move-in-static-initializer-issue-38520.rs @@ -0,0 +1,16 @@ +// Regression test for #38520. Check that moves of `Foo` are not +// permitted as `Foo` is not copy (even in a static/const +// initializer). + +struct Foo(usize); + +const fn get(x: Foo) -> usize { + x.0 +} + +const X: Foo = Foo(22); +static Y: usize = get(*&X); //~ ERROR [E0507] +const Z: usize = get(*&X); //~ ERROR [E0507] + +fn main() { +} |