diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2015-01-28 05:13:43 -0500 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2015-01-28 05:15:24 -0500 |
| commit | aaf3df3667b4f4b1481401474e4e69051fafa83b (patch) | |
| tree | 6eba1b24d5a081dc132d1987b599c7685b1a4c08 | |
| parent | 694432e935925a5a38fef14d7ad82ff3378410f2 (diff) | |
| download | rust-aaf3df3667b4f4b1481401474e4e69051fafa83b.tar.gz rust-aaf3df3667b4f4b1481401474e4e69051fafa83b.zip | |
Add new test for object method numbering mismatches.
| -rw-r--r-- | src/test/run-pass/object-method-numbering.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/run-pass/object-method-numbering.rs b/src/test/run-pass/object-method-numbering.rs new file mode 100644 index 00000000000..8da753acb96 --- /dev/null +++ b/src/test/run-pass/object-method-numbering.rs @@ -0,0 +1,36 @@ +// Copyright 2015 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. + +// Test for using an object with an associated type binding as the +// instantiation for a generic type with a bound. + +trait SomeTrait { + type SomeType; + + fn get(&self) -> Self::SomeType; +} + +fn get_int<T:SomeTrait<SomeType=i32>+?Sized>(x: &T) -> i32 { + x.get() +} + +impl SomeTrait for i32 { + type SomeType = i32; + fn get(&self) -> i32 { + *self + } +} + +fn main() { + let x = 22_i32; + let x1: &SomeTrait<SomeType=i32> = &x; + let y = get_int(x1); + assert_eq!(x, y); +} |
