diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-09-25 21:46:14 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-10-02 07:55:41 -0700 |
| commit | 5a64e1a35a17c7aebd91e0d2fc9003f08fb5fd6d (patch) | |
| tree | c2ee92dec0de431f1418390f081f0f463b3344c7 /src | |
| parent | 8f8cc061d9a82f7cfd9b9c9d7312c9551c4b286f (diff) | |
| download | rust-5a64e1a35a17c7aebd91e0d2fc9003f08fb5fd6d.tar.gz rust-5a64e1a35a17c7aebd91e0d2fc9003f08fb5fd6d.zip | |
test: add compile-fail test for #[deriving(FromPrimitive)]
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/compile-fail/deriving-primitive.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/test/compile-fail/deriving-primitive.rs b/src/test/compile-fail/deriving-primitive.rs new file mode 100644 index 00000000000..435228d9efe --- /dev/null +++ b/src/test/compile-fail/deriving-primitive.rs @@ -0,0 +1,34 @@ +// Copyright 2013 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use std::num::FromPrimitive; +use std::int; + +#[deriving(FromPrimitive)] +struct A { x: int } +//~^^ ERROR `FromPrimitive` cannot be derived for structs +//~^^^ ERROR `FromPrimitive` cannot be derived for structs + +#[deriving(FromPrimitive)] +struct B(int); +//~^^ ERROR `FromPrimitive` cannot be derived for structs +//~^^^ ERROR `FromPrimitive` cannot be derived for structs + +#[deriving(FromPrimitive)] +enum C { Foo(int), Bar(uint) } +//~^^ ERROR `FromPrimitive` cannot be derived for enum variants with arguments +//~^^^ ERROR `FromPrimitive` cannot be derived for enum variants with arguments + +#[deriving(FromPrimitive)] +enum D { Baz { x: int } } +//~^^ ERROR `FromPrimitive` cannot be derived for enums with struct variants +//~^^^ ERROR `FromPrimitive` cannot be derived for enums with struct variants + +fn main() {} |
