From c83eb53b16f627443eb4147eb58d6d2ee6b2d775 Mon Sep 17 00:00:00 2001 From: lcnr Date: Tue, 11 Apr 2023 10:48:38 +0200 Subject: [PATCH] extend the sixth requirement --- src/doc/rustc-dev-guide/src/solve/trait-solving.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/doc/rustc-dev-guide/src/solve/trait-solving.md b/src/doc/rustc-dev-guide/src/solve/trait-solving.md index 71f6581c2083..893066d86271 100644 --- a/src/doc/rustc-dev-guide/src/solve/trait-solving.md +++ b/src/doc/rustc-dev-guide/src/solve/trait-solving.md @@ -96,6 +96,10 @@ Trait solving during codegen should have the same result as during typeck. As we all free regions during codegen we must not rely on them during typeck. A noteworthy example is special behavior for `'static`. +We also have to be careful with relying on equality of regions in the trait solver. +This is fine for codegen, as we treat all erased regions are equal. We can however +loose equality information from HIR to MIR typeck. + ### 7. Removing ambiguity makes strictly more things compile We *should* not rely on ambiguity for things to compile.