Add explanation for E0116 and update the error message.
Also updates the reference on this point.
@@ -1550,7 +1550,7 @@ methods in such an implementation can only be used as direct calls on the
values of the type that the implementation targets. In such an implementation,
the trait type and `for` after `impl` are omitted. Such implementations are
limited to nominal types (enums, structs), and the implementation must appear
-in the same module or a sub-module as the `self` type:
+in the same crate as the `self` type:
```
struct Point {x: i32, y: i32}
