Module alias

Module alias 

Source
Expand description

Alias hazard checks for unsafe view-producing APIs.

Alias is more stateful than numeric SPs such as Align: calls like from_raw_parts_mut create a view whose lifetime constrains later uses of the original raw pointer. This module handles the first, deliberately small slice-view model:

  • a local view only checks later uses in the same function;
  • an escaped view from self.field checks whether the same struct still exposes or writes through that raw field via safe methods or public fields.

Structsยง

SelfFieldOrigin ๐Ÿ”’

Enumsยง

AliasProducer ๐Ÿ”’
HazardKind ๐Ÿ”’
RawAccessKind ๐Ÿ”’

Functionsยง

adt_from_receiver_ty ๐Ÿ”’
alias_from_rvalue ๐Ÿ”’
alias_producer ๐Ÿ”’
blocks_reachable_after_call ๐Ÿ”’
call_destination ๐Ÿ”’
check
Check the path-sensitive / escaped hazard part of Alias.
collect_place_aliases ๐Ÿ”’
destination_flows_to_return ๐Ÿ”’
escaped_self_field_violation ๐Ÿ”’
expand_hazard_alias_locals ๐Ÿ”’
expand_origin_aliases ๐Ÿ”’
failed ๐Ÿ”’
hazard_used_after_block ๐Ÿ”’
hazard_used_after_statement ๐Ÿ”’
impls_for_struct ๐Ÿ”’
is_ownership_return_api ๐Ÿ”’
is_ownership_transfer_api ๐Ÿ”’
is_raw_pointer_ty ๐Ÿ”’
is_vec_invalidating_method ๐Ÿ”’
is_vec_ownership_transfer_api ๐Ÿ”’
local_hazard_violation ๐Ÿ”’
local_traces_to_self_field ๐Ÿ”’
method_exposes_self_field ๐Ÿ”’
method_writes_self_field ๐Ÿ”’
operand_place ๐Ÿ”’
ownership_transfer_violation ๐Ÿ”’
place_is_raw_access_to_any_origin ๐Ÿ”’
place_is_raw_access_to_origin ๐Ÿ”’
place_raw_accesses_self_field ๐Ÿ”’
public_raw_field ๐Ÿ”’
raw_access_conflicts ๐Ÿ”’
resolve_forward_place ๐Ÿ”’
resolve_mir_place ๐Ÿ”’
resolve_mir_place_dummy ๐Ÿ”’
rvalue_mentions_any_local ๐Ÿ”’
rvalue_mentions_local ๐Ÿ”’
rvalue_mentions_origin ๐Ÿ”’
rvalue_reads_any_origin ๐Ÿ”’
rvalue_source_place ๐Ÿ”’
self_field_key ๐Ÿ”’
self_field_origin ๐Ÿ”’
statement_uses_any_local ๐Ÿ”’
terminator_invalidates_vec_owner ๐Ÿ”’
terminator_returns_ownership ๐Ÿ”’
terminator_uses_any_local ๐Ÿ”’
terminator_uses_origin ๐Ÿ”’
terminator_writes_origin ๐Ÿ”’
vec_owners_for_origins ๐Ÿ”’