]>
git.proxmox.com Git - rustc.git/blob - src/test/run-pass/const-fn.rs
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.
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.
11 // A very basic test of const fn functionality.
13 #![feature(const_fn, const_indexing)]
15 const fn add(x
: u32, y
: u32) -> u32 {
19 const fn sub(x
: u32, y
: u32) -> u32 {
23 const unsafe fn div(x
: u32, y
: u32) -> u32 {
27 const fn generic
<T
>(t
: T
) -> T
{
31 const fn generic_arr
<T
: Copy
>(t
: [T
; 1]) -> T
{
35 const SUM
: u32 = add(44, 22);
36 const DIFF
: u32 = sub(44, 22);
37 const DIV
: u32 = unsafe{div(44, 22)}
;
46 let _
: [&'
static str; sub(100, 99) as usize] = ["hi"];
47 let _
: [&'
static str; generic(1)] = ["hi"];
48 let _
: [&'
static str; generic_arr([1])] = ["hi"];