about summary refs log tree commit diff
path: root/tests/ui/traits/const-traits/minicore-works.rs
blob: ef08e84c02b81b00bcf84fbd9bfb003145d209d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//@ aux-build:minicore.rs
//@ compile-flags: --crate-type=lib -Znext-solver -Cpanic=abort
//@ check-pass

#![feature(no_core)]
#![no_std]
#![no_core]
#![feature(const_trait_impl)]

extern crate minicore;
use minicore::*;

struct Custom;
impl const Add for Custom {
    type Output = ();
    fn add(self, _other: Self) {}
}

const fn test_op() {
    let _x = Add::add(1, 2);
    let _y = Custom + Custom;
}

const fn call_indirect<T: [const] Fn()>(t: &T) {
    t()
}

const fn call() {
    call_indirect(&call);
}