Move /src/test to /tests
This commit is contained in:
parent
ca855e6e42
commit
cf2dff2b1e
27592 changed files with 0 additions and 0 deletions
40
tests/ui/rfcs/rfc-2005-default-binding-mode/constref.rs
Normal file
40
tests/ui/rfcs/rfc-2005-default-binding-mode/constref.rs
Normal file
|
@ -0,0 +1,40 @@
|
|||
// run-pass
|
||||
const CONST_REF: &[u8; 3] = b"foo";
|
||||
|
||||
trait Foo {
|
||||
const CONST_REF_DEFAULT: &'static [u8; 3] = b"bar";
|
||||
const CONST_REF: &'static [u8; 3];
|
||||
}
|
||||
|
||||
impl Foo for i32 {
|
||||
const CONST_REF: &'static [u8; 3] = b"jjj";
|
||||
}
|
||||
|
||||
impl Foo for i64 {
|
||||
const CONST_REF_DEFAULT: &'static [u8; 3] = b"ggg";
|
||||
const CONST_REF: &'static [u8; 3] = b"fff";
|
||||
}
|
||||
|
||||
// Check that (associated and free) const references are not mistaken for a
|
||||
// non-reference pattern (in which case they would be auto-dereferenced, making
|
||||
// the types mismatched).
|
||||
|
||||
fn const_ref() -> bool {
|
||||
let f = b"foo";
|
||||
match f {
|
||||
CONST_REF => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
fn associated_const_ref() -> bool {
|
||||
match (b"bar", b"jjj", b"ggg", b"fff") {
|
||||
(i32::CONST_REF_DEFAULT, i32::CONST_REF, i64::CONST_REF_DEFAULT, i64::CONST_REF) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
assert!(const_ref());
|
||||
assert!(associated_const_ref());
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue