Skip to content

Commit

Permalink
Add a UI test related to feature-gated primitives
Browse files Browse the repository at this point in the history
Add a test that `f16` and `f128` are usable with the feature gate
enabled, as well as a test that user types with the same name as
primitives are not improperly gated.
  • Loading branch information
tgross35 committed Mar 4, 2024
1 parent a219b32 commit b8af79d
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 0 deletions.
30 changes: 30 additions & 0 deletions tests/ui/resolve/conflicting-primitive-names.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
//@ check-pass
#![allow(non_camel_case_types)]
#![allow(unused)]

// Ensure that primitives do not interfere with user types of similar names

macro_rules! make_ty_mod {
($modname:ident, $ty:tt) => {
mod $modname {
struct $ty {
a: i32,
}

fn assignment() {
let $ty = ();
}

fn access(a: $ty) -> i32 {
a.a
}
}
};
}

make_ty_mod!(check_f16, f16);
make_ty_mod!(check_f32, f32);
make_ty_mod!(check_f64, f64);
make_ty_mod!(check_f128, f128);

fn main() {}
18 changes: 18 additions & 0 deletions tests/ui/resolve/primitive-f128.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//@ check-pass
#![feature(f128)]

// Same as the feature gate test but ensure we can use the types

const A: f128 = 10.0;

pub fn main() {
let a: f128 = 100.0;
let b = 0.0f128;
foo(1.23);
}

fn foo(a: f128) {}

struct Bar {
a: f128,
}
18 changes: 18 additions & 0 deletions tests/ui/resolve/primitive-f16.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//@ check-pass
#![feature(f16)]

// Same as the feature gate test but ensure we can use the types

const A: f16 = 10.0;

pub fn main() {
let a: f16 = 100.0;
let b = 0.0f16;
foo(1.23);
}

fn foo(a: f16) {}

struct Bar {
a: f16,
}

0 comments on commit b8af79d

Please sign in to comment.