about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-03-30 01:10:48 +0000
committerMichael Goulet <michael@errs.io>2023-03-30 01:15:37 +0000
commit977694aaec6dce9b03979cbe1b146352502c2e33 (patch)
tree866fed683cb46cc8f3c901aaaeebaa1c775257b2
parent2fb0e8d162a021f8a795fb603f5d8c0017855160 (diff)
downloadrust-977694aaec6dce9b03979cbe1b146352502c2e33.tar.gz
rust-977694aaec6dce9b03979cbe1b146352502c2e33.zip
canonicalize float var as float in new solver
-rw-r--r--compiler/rustc_trait_selection/src/solve/canonicalize.rs2
-rw-r--r--tests/ui/traits/new-solver/float-canonical.rs8
2 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_trait_selection/src/solve/canonicalize.rs b/compiler/rustc_trait_selection/src/solve/canonicalize.rs
index 7ee4f332306..2e5a8b7debc 100644
--- a/compiler/rustc_trait_selection/src/solve/canonicalize.rs
+++ b/compiler/rustc_trait_selection/src/solve/canonicalize.rs
@@ -291,7 +291,7 @@ impl<'tcx> TypeFolder<TyCtxt<'tcx>> for Canonicalizer<'_, 'tcx> {
                 if nt != t {
                     return self.fold_ty(nt);
                 } else {
-                    CanonicalVarKind::Ty(CanonicalTyVarKind::Int)
+                    CanonicalVarKind::Ty(CanonicalTyVarKind::Float)
                 }
             }
             ty::Infer(ty::FreshTy(_) | ty::FreshIntTy(_) | ty::FreshFloatTy(_)) => {
diff --git a/tests/ui/traits/new-solver/float-canonical.rs b/tests/ui/traits/new-solver/float-canonical.rs
new file mode 100644
index 00000000000..b8748cd433b
--- /dev/null
+++ b/tests/ui/traits/new-solver/float-canonical.rs
@@ -0,0 +1,8 @@
+// compile-flags: -Ztrait-solver=next
+// check-pass
+
+fn foo(x: f64) {
+    let y = x + 1.0;
+}
+
+fn main() {}