Commit Graph

14 Commits

Author SHA1 Message Date
Lukas Markeffsky 7b21c1a457 add test for casting pointer to union with unsized tail 2024-03-19 13:57:31 +01:00
许杰友 Jieyou Xu (Joe) ec2cc761bc
[AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
Urgau 915200fbe0 Lint on reference casting to bigger underlying allocation 2024-02-12 19:40:17 +01:00
Gurinder Singh 6e37f955e5 Emit more specific diagnostics when enums fail to cast with `as` 2024-02-09 09:19:44 +05:30
r0cky c7519d42c2 Update tests 2024-02-07 10:42:01 +08:00
Veera 286f2d819e Update existing tests 2023-12-20 22:53:56 -05:00
Veera e6e195e27e fix: diagnostic for casting reference to slice
fixes: #118790
2023-12-20 20:50:32 -05:00
Nilstrieb 41e8d152dc Show number in error message even for one error
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
2023-11-24 19:15:52 +01:00
Nilstrieb b6657a8ad4 Never consider raw pointer casts to be trival
HIR typeck tries to figure out which casts are trivial by doing them as
coercions and seeing whether this works. Since HIR typeck is oblivious
of lifetimes, this doesn't work for pointer casts that only change the
lifetime of the pointee, which are, as borrowck will tell you, not
trivial.

This change makes it so that raw pointer casts are never considered
trivial.

This also incidentally fixes the "trivial cast" lint false positive on
the same code. Unfortunately, "trivial cast" lints are now never emitted
on raw pointer casts, even if they truly are trivial. This could be
fixed by also doing the lint in borrowck for raw pointers specifically.
2023-10-25 23:15:18 +02:00
ouz-a 861448b426 make unsized cast illegal 2023-09-22 18:57:27 +03:00
clubby789 c2841e2a1e Migrate 'cast to bool' diagnostic 2023-09-18 14:03:57 +00:00
asquared31415 e36adff4c2 add source type for invalid bool casts 2023-09-11 18:10:07 +00:00
Ezra Shaw 92ced4a12e
suggest `is_empty` for collections when casting to `bool` 2023-01-15 22:17:54 +13:00
Albert Larsan cf2dff2b1e
Move /src/test to /tests 2023-01-11 09:32:08 +00:00