Structs

This is the implicit state of rustc. It contains the current TyCtxt and query. It is updated when creating a local interner or executing a new query. Whenever there’s a TyCtxt value available you should also have access to an ImplicitCtxt through the functions in this module.

Constants

TLV 🔒

A thread local variable that stores a pointer to the current ImplicitCtxt.

Functions

Sets context as the new current ImplicitCtxt for the duration of the function f.

get_tlv 🔒

Gets the pointer to the current ImplicitCtxt.

set_tlv 🔒

Sets TLV to value during the call to f. It is restored to its previous value after. This is used to set the pointer to the new ImplicitCtxt.

Allows access to the TyCtxt in the current ImplicitCtxt. Panics if there is no ImplicitCtxt available.

Allows access to the current ImplicitCtxt. Panics if there is no ImplicitCtxt available.

Allows access to the current ImplicitCtxt in a closure if one is available.

Allows access to the TyCtxt in the current ImplicitCtxt. The closure is passed None if there is no ImplicitCtxt available.

Allows access to the current ImplicitCtxt whose tcx field is the same as the tcx argument passed in. This means the closure is given an ImplicitCtxt with the same 'tcx lifetime as the TyCtxt passed in. This will panic if you pass it a TyCtxt which is different from the current ImplicitCtxt’s tcx field.