45 lines
802 B
Rust
45 lines
802 B
Rust
|
// only-wasm32
|
||
|
// check-pass
|
||
|
|
||
|
#![feature(wasm_target_feature)]
|
||
|
#![allow(dead_code)]
|
||
|
|
||
|
#[target_feature(enable = "nontrapping-fptoint")]
|
||
|
fn foo() {}
|
||
|
|
||
|
#[target_feature(enable = "nontrapping-fptoint")]
|
||
|
extern "C" fn bar() {}
|
||
|
|
||
|
trait A {
|
||
|
fn foo();
|
||
|
fn bar(&self);
|
||
|
}
|
||
|
|
||
|
struct B;
|
||
|
|
||
|
impl B {
|
||
|
#[target_feature(enable = "nontrapping-fptoint")]
|
||
|
fn foo() {}
|
||
|
#[target_feature(enable = "nontrapping-fptoint")]
|
||
|
fn bar(&self) {}
|
||
|
}
|
||
|
|
||
|
impl A for B {
|
||
|
#[target_feature(enable = "nontrapping-fptoint")]
|
||
|
fn foo() {}
|
||
|
#[target_feature(enable = "nontrapping-fptoint")]
|
||
|
fn bar(&self) {}
|
||
|
}
|
||
|
|
||
|
fn no_features_enabled_on_this_function() {
|
||
|
bar();
|
||
|
foo();
|
||
|
B.bar();
|
||
|
B::foo();
|
||
|
<B as A>::foo();
|
||
|
<B as A>::bar(&B);
|
||
|
}
|
||
|
|
||
|
#[target_feature(enable = "nontrapping-fptoint")]
|
||
|
fn main() {}
|