blob: 1584b419daa2cc30cdb2281e589a5982311f9fb3 [file] [log] [blame]
// { dg-output "amazing\r*\nwildcard\r*\ncompiler\r*\nproductivity\r*\n" }
extern "C" {
fn printf(s: *const i8, ...);
}
fn foo(x: char) {
match x {
'a' => {
let a = "amazing\n\0";
let b = a as *const str;
let c = b as *const i8;
unsafe {
printf(c);
}
}
'c' => {
let a = "compiler\n\0";
let b = a as *const str;
let c = b as *const i8;
unsafe {
printf(c);
}
}
'p' => {
let a = "productivity\n\0";
let b = a as *const str;
let c = b as *const i8;
unsafe {
printf(c);
}
}
_ => {
let a = "wildcard\n\0";
let b = a as *const str;
let c = b as *const i8;
unsafe {
printf(c);
}
}
}
}
fn main() -> i32 {
let p = 'p';
foo('a');
foo('b');
foo('c');
foo(p);
0
}