Skip to content

Commit aaf3df3

Browse files
committed
Add new test for object method numbering mismatches.
1 parent 694432e commit aaf3df3

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// Test for using an object with an associated type binding as the
12+
// instantiation for a generic type with a bound.
13+
14+
trait SomeTrait {
15+
type SomeType;
16+
17+
fn get(&self) -> Self::SomeType;
18+
}
19+
20+
fn get_int<T:SomeTrait<SomeType=i32>+?Sized>(x: &T) -> i32 {
21+
x.get()
22+
}
23+
24+
impl SomeTrait for i32 {
25+
type SomeType = i32;
26+
fn get(&self) -> i32 {
27+
*self
28+
}
29+
}
30+
31+
fn main() {
32+
let x = 22_i32;
33+
let x1: &SomeTrait<SomeType=i32> = &x;
34+
let y = get_int(x1);
35+
assert_eq!(x, y);
36+
}

0 commit comments

Comments
 (0)