Skip to content

Commit

Permalink
Fix f16 and f128 feature gates in editions other than 2015
Browse files Browse the repository at this point in the history
Fixes rust-lang#123282

Co-authored-by: Vadim Petrochenkov <[email protected]>
  • Loading branch information
tgross35 and petrochenkov committed Apr 3, 2024
1 parent 269f153 commit 0f82854
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 20 deletions.
2 changes: 2 additions & 0 deletions compiler/rustc_resolve/src/ident.rs
Original file line number Diff line number Diff line change
Expand Up @@ -605,6 +605,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
&& !this.tcx.features().f16
&& !ident.span.allows_unstable(sym::f16)
&& finalize.is_some()
&& innermost_result.is_none()
{
feature_err(
this.tcx.sess,
Expand All @@ -618,6 +619,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
&& !this.tcx.features().f128
&& !ident.span.allows_unstable(sym::f128)
&& finalize.is_some()
&& innermost_result.is_none()
{
feature_err(
this.tcx.sess,
Expand Down
10 changes: 5 additions & 5 deletions tests/ui/feature-gates/feature-gate-f128.e2015.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:11:10
--> $DIR/feature-gate-f128.rs:7:10
|
LL | const A: f128 = 10.0;
| ^^^^
Expand All @@ -9,7 +9,7 @@ LL | const A: f128 = 10.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:14:12
--> $DIR/feature-gate-f128.rs:10:12
|
LL | let a: f128 = 100.0;
| ^^^^
Expand All @@ -19,7 +19,7 @@ LL | let a: f128 = 100.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:19:11
--> $DIR/feature-gate-f128.rs:15:11
|
LL | fn foo(a: f128) {}
| ^^^^
Expand All @@ -29,7 +29,7 @@ LL | fn foo(a: f128) {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:22:8
--> $DIR/feature-gate-f128.rs:18:8
|
LL | a: f128,
| ^^^^
Expand All @@ -39,7 +39,7 @@ LL | a: f128,
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:15:13
--> $DIR/feature-gate-f128.rs:11:13
|
LL | let b = 0.0f128;
| ^^^^^^^
Expand Down
10 changes: 5 additions & 5 deletions tests/ui/feature-gates/feature-gate-f128.e2018.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:11:10
--> $DIR/feature-gate-f128.rs:7:10
|
LL | const A: f128 = 10.0;
| ^^^^
Expand All @@ -9,7 +9,7 @@ LL | const A: f128 = 10.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:14:12
--> $DIR/feature-gate-f128.rs:10:12
|
LL | let a: f128 = 100.0;
| ^^^^
Expand All @@ -19,7 +19,7 @@ LL | let a: f128 = 100.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:19:11
--> $DIR/feature-gate-f128.rs:15:11
|
LL | fn foo(a: f128) {}
| ^^^^
Expand All @@ -29,7 +29,7 @@ LL | fn foo(a: f128) {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:22:8
--> $DIR/feature-gate-f128.rs:18:8
|
LL | a: f128,
| ^^^^
Expand All @@ -39,7 +39,7 @@ LL | a: f128,
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f128` is unstable
--> $DIR/feature-gate-f128.rs:15:13
--> $DIR/feature-gate-f128.rs:11:13
|
LL | let b = 0.0f128;
| ^^^^^^^
Expand Down
10 changes: 5 additions & 5 deletions tests/ui/feature-gates/feature-gate-f16.e2015.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:11:10
--> $DIR/feature-gate-f16.rs:7:10
|
LL | const A: f16 = 10.0;
| ^^^
Expand All @@ -9,7 +9,7 @@ LL | const A: f16 = 10.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:14:12
--> $DIR/feature-gate-f16.rs:10:12
|
LL | let a: f16 = 100.0;
| ^^^
Expand All @@ -19,7 +19,7 @@ LL | let a: f16 = 100.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:19:11
--> $DIR/feature-gate-f16.rs:15:11
|
LL | fn foo(a: f16) {}
| ^^^
Expand All @@ -29,7 +29,7 @@ LL | fn foo(a: f16) {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:22:8
--> $DIR/feature-gate-f16.rs:18:8
|
LL | a: f16,
| ^^^
Expand All @@ -39,7 +39,7 @@ LL | a: f16,
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:15:13
--> $DIR/feature-gate-f16.rs:11:13
|
LL | let b = 0.0f16;
| ^^^^^^
Expand Down
10 changes: 5 additions & 5 deletions tests/ui/feature-gates/feature-gate-f16.e2018.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:11:10
--> $DIR/feature-gate-f16.rs:7:10
|
LL | const A: f16 = 10.0;
| ^^^
Expand All @@ -9,7 +9,7 @@ LL | const A: f16 = 10.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:14:12
--> $DIR/feature-gate-f16.rs:10:12
|
LL | let a: f16 = 100.0;
| ^^^
Expand All @@ -19,7 +19,7 @@ LL | let a: f16 = 100.0;
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:19:11
--> $DIR/feature-gate-f16.rs:15:11
|
LL | fn foo(a: f16) {}
| ^^^
Expand All @@ -29,7 +29,7 @@ LL | fn foo(a: f16) {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:22:8
--> $DIR/feature-gate-f16.rs:18:8
|
LL | a: f16,
| ^^^
Expand All @@ -39,7 +39,7 @@ LL | a: f16,
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the type `f16` is unstable
--> $DIR/feature-gate-f16.rs:15:13
--> $DIR/feature-gate-f16.rs:11:13
|
LL | let b = 0.0f16;
| ^^^^^^
Expand Down

0 comments on commit 0f82854

Please sign in to comment.