luaur_analysis/methods/
subtyping_environment_apply_mapped_generics.rs1use crate::records::apply_mapped_generics::ApplyMappedGenerics;
2use crate::records::builtin_types::BuiltinTypes;
3use crate::records::internal_error_reporter::InternalErrorReporter;
4use crate::records::substitution::Substitution;
5use crate::records::subtyping_environment::SubtypingEnvironment;
6use crate::records::txn_log::TxnLog;
7use crate::records::type_arena::TypeArena;
8use crate::type_aliases::type_id::TypeId;
9
10impl SubtypingEnvironment {
11 pub fn apply_mapped_generics(
24 &mut self,
25 builtin_types: *mut BuiltinTypes,
26 arena: *mut TypeArena,
27 ty: TypeId,
28 ice_reporter: *mut InternalErrorReporter,
29 ) -> Option<TypeId> {
30 let mut amg = ApplyMappedGenerics {
31 base: Substitution::substitution_new(TxnLog::empty(), arena),
32 builtin_types,
33 arena,
34 ice_reporter,
35 env: self as *mut SubtypingEnvironment,
36 };
37 amg.substitute_type_id(ty)
38 }
39}