Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Schwenger/RustTyC
/ functions
Functions
107 in github.com/Schwenger/RustTyC
⨍
Functions
107
◇
Types & classes
29
↓ 33 callers
Method
impose
Imposes a constraint on keys. They can be obtained by using the associated functions of [TcKey]. Returns a [TcErr] if the constraint immediately reve
src/type_checker.rs:124
↓ 22 callers
Method
concretizes_explicit
Declares that `self` is at least as concrete as `bound`.
src/keys.rs:211
↓ 20 callers
Method
new_term_key
Generates a new key representing a term.
src/type_checker.rs:94
↓ 8 callers
Method
repr
(&self, v: TcKey)
src/constraint_graph.rs:352
↓ 7 callers
Method
type_check
Finalizes the type check procedure. Calling this function indicates that all relevant information was passed on to the type checker. It will attempt t
src/type_checker.rs:199
↓ 6 callers
Method
concretizes
Connects two keys asymmetrically. Refining `bound` refines `self` whereas refining `self` leaves `bound` unaffected.
src/keys.rs:200
↓ 6 callers
Method
repr_mut
(&mut self, v: TcKey)
src/constraint_graph.rs:337
↓ 4 callers
Method
equate_with
Equates two keys, i.e., they refer to the same type and are thus symmetrically connected. Refining one will refine the other as well.
src/keys.rs:205
↓ 3 callers
Method
arity
(&self, _ctx: &mut Self::Context)
src/types.rs:116
↓ 3 callers
Method
equate
Declares a symmetric relation between two keys.
src/constraint_graph.rs:271
↓ 3 callers
Method
get_var_key
Manages keys for variables. It checks if `var` already has an associated key. If so, it returns the key. Otherwise, it generates a new one.
src/type_checker.rs:100
↓ 3 callers
Method
is_meet_of
Declares that `self` is the meet of `left` and `right`. This binds `self` to both `left` and `right` asymmetrically.
src/keys.rs:217
↓ 3 callers
Method
to_partial
(&self)
src/constraint_graph.rs:168
↓ 3 callers
Method
to_preliminary
(&self)
src/constraint_graph.rs:210
↓ 3 callers
Method
type_check_preliminary
Finalizes the type check procedure without constructing a full type table. Refer to [TypeChecker::type_check] if [Variant] implements [Constructable]
src/type_checker.rs:175
↓ 3 callers
Method
vertex
(&self, key: TcKey)
src/constraint_graph.rs:329
↓ 2 callers
Function
_tc_expr
This function traverses the expression tree. It creates keys on the fly. This is not possible for many kinds of type systems, in which case the funct
src/tests.rs:181
↓ 2 callers
Method
construct
(&self, children: &[Self::Type], _ctx: &mut Self::Context)
src/tests.rs:103
↓ 2 callers
Method
create_vertex
Creates and registers a new vertex.
src/constraint_graph.rs:237
↓ 2 callers
Method
meet
( &mut self, this: TcKey, target_key: TcKey, rhs: &Self, ctx: &mut V::
src/constraint_graph.rs:122
↓ 2 callers
Method
mut_full
Grants mutable access to the underlying full vertex. # Panics Panics if `self` is not a full vertex.
src/constraint_graph.rs:32
↓ 2 callers
Method
new_vertex
(&mut self)
src/constraint_graph.rs:241
↓ 2 callers
Method
set_arity_checked
(&mut self, this: TcKey, new_arity: usize, ctx: &mut V::Context)
src/constraint_graph.rs:89
↓ 2 callers
Method
set_arity_unchecked
(&mut self, new_arity: usize)
src/constraint_graph.rs:104
↓ 2 callers
Method
solve_constraints
Starts a fix point computation successively checking and resolving constraints captured in the graph. Returns the type table mapping each registered k
src/constraint_graph.rs:370
↓ 2 callers
Method
this
(&self)
src/constraint_graph.rs:22
↓ 2 callers
Method
vertex_mut
(&mut self, key: TcKey)
src/constraint_graph.rs:333
↓ 1 callers
Method
add_explicit_bound
(&mut self, target: TcKey, bound: T, context: &mut T::Context)
src/constraint_graph.rs:318
↓ 1 callers
Method
add_upper_bound
(&mut self, bound: TcKey)
src/constraint_graph.rs:118
↓ 1 callers
Function
build_complex_expression_type_checks
()
src/tests.rs:142
↓ 1 callers
Function
build_complex_expression_type_checks
()
examples/parametrized_function.rs:199
↓ 1 callers
Function
build_type_error
()
src/tests.rs:120
↓ 1 callers
Method
child
(&self, n: usize)
src/constraint_graph.rs:108
↓ 1 callers
Method
construct_preliminary
(self)
src/constraint_graph.rs:385
↓ 1 callers
Method
construct_types
(self, context: &mut V::Context)
src/constraint_graph.rs:457
↓ 1 callers
Function
create_addition
(lhs: Expression, rhs: Expression)
src/tests.rs:133
↓ 1 callers
Function
create_addition
(lhs: Expression, rhs: Expression)
examples/parametrized_function.rs:216
↓ 1 callers
Method
establish_fwd
Transforms `sub` into a forward to `repr`.
src/constraint_graph.rs:286
↓ 1 callers
Method
explicit_bound
Imposes an explicit bound on a key. An Err return indicates a contradiction, an Ok does not indicate the absence of a contradiction.
src/constraint_graph.rs:279
↓ 1 callers
Method
full
Grants immutable access to the underlying full vertex. # Panics Panics if `self` is not a full vertex.
src/constraint_graph.rs:42
↓ 1 callers
Method
get_repr_nontrans
Returns the reference of the vertex representing this one. Returns None if this vertex represents itself.
src/constraint_graph.rs:50
↓ 1 callers
Method
is_cyclic
(&self)
src/constraint_graph.rs:429
↓ 1 callers
Method
is_in_loop
(&self, vertex: &Vertex<T>, mut history: Vec<TcKey>)
src/constraint_graph.rs:433
↓ 1 callers
Method
is_meet_of_all
Declares that `self` is the meet of all elements contained in `elems`. This binds `self` to all of these keys asymmetrically.
src/keys.rs:223
↓ 1 callers
Method
is_sym_meet_of_all
Declares that `self` is the symmetric meet of all elements contained in `elems`. This binds `self` to all of these keys symmetrically.
src/keys.rs:235
↓ 1 callers
Method
lift
(&mut self, variant: T, children: Vec<Option<TcKey>>)
src/constraint_graph.rs:311
↓ 1 callers
Method
lift_partially
Lifts a collection of keys as subset of children into a certain recursive variant.
src/type_checker.rs:151
↓ 1 callers
Method
nth_child
Registers that a key has at least `n` children. If this fact was already known and thus a key is already associated with the child, the key is return
src/constraint_graph.rs:252
↓ 1 callers
Method
reprs
Returns an Iterator over all full vertices in `self`. This does not resolve forwards, thus every representative only occurs once.
src/constraint_graph.rs:345
↓ 1 callers
Method
resolve_asymmetric
Meets all the types of upper bounds with the type of the vertex itself.
src/constraint_graph.rs:394
↓ 1 callers
Method
set_child
(&mut self, n: usize, child: TcKey)
src/constraint_graph.rs:113
↓ 1 callers
Method
solve
(mut self, context: &mut V::Context)
src/constraint_graph.rs:452
↓ 1 callers
Method
solve_preliminary
(mut self, context: &mut T::Context)
src/constraint_graph.rs:380
↓ 1 callers
Function
tc_expr
( mut tc: VarlessTypeChecker<Variant>, expr: &Expression, )
src/tests.rs:159
↓ 1 callers
Function
tc_expr
This function traverses the expression tree. It creates keys on the fly. This is not possible for many kinds of type systems, in which case the funct
examples/parametrized_function.rs:123
↓ 1 callers
Function
tc_expr_prelim
( mut tc: VarlessTypeChecker<Variant>, expr: &Expression, )
src/tests.rs:168
↓ 1 callers
Method
to_opt
Transform `self` into an option, i.e., it will yield a `Some` with its arity if defined and `None` otherwise.
src/types.rs:136
↓ 1 callers
Method
type_check_preliminary_with_context
Finalizes the type check procedure without constructing a full type table. See [`TypeChecker::type_check_preliminary`] for details.
src/type_checker.rs:183
↓ 1 callers
Method
type_check_with_context
Finalizes the type check procedure, and returns ownership of the context to the caller. See [`TypeChecker::type_check_with_context`] for details.
src/type_checker.rs:207
↓ 1 callers
Method
with_partial
(&mut self, this: TcKey, p: Partial<V>, ctx: &mut V::Context)
src/constraint_graph.rs:175
Method
all_keys
Create an iterator over all keys currently registered in the graph.
src/constraint_graph.rs:232
Method
all_keys
Returns an iterator over all keys currently present in the type checking procedure.
src/type_checker.rs:156
Method
arity
(&self)
src/tests.rs:58
Method
arity
(&self)
examples/parametrized_function.rs:57
Function
bound_by_concrete_transitive
()
src/tests.rs:246
Function
complex_type_check
()
src/tests.rs:257
Method
construct
(&self, children: &[Self::Type], _ctx: &mut Self::Context)
examples/parametrized_function.rs:102
Method
context
Returns an immutable reference to the context.
src/type_checker.rs:161
Method
context_mut
Returns a mutable reference to the context.
src/type_checker.rs:166
Function
create_different_types
()
src/tests.rs:238
Method
default
()
src/type_checker.rs:61
Method
deserialize
(deserializer: D)
src/keys.rs:254
Method
equal
(this: &Self, that: &Self, _ctx: &mut Self::Context)
src/types.rs:120
Method
equal
(this: &Self, that: &Self, ctx: &mut V::Context)
src/constraint_graph.rs:83
Method
expecting
(&self, formatter: &mut Formatter<'_>)
src/keys.rs:280
Function
failing_type_check
()
src/tests.rs:267
Method
fill_with
Adds `entry` to `v` until it has length `size`.
src/constraint_graph.rs:360
Method
fmt
(&self, f: &mut Formatter)
src/type_checker.rs:263
Method
get_child_key
Provides a key to the `nth` child of the type behind `parent`. This imposes the restriction that `parent` resolves to a type that has at least an arit
src/type_checker.rs:116
Method
is_sym_meet_of
Declares that `self` is the symmetric meet of `left` and `right`. This binds `self` to both `left` and `right` symmetrically.
src/keys.rs:229
Method
lift_into
Lifts a collection of keys as children into a certain recursive variant.
src/type_checker.rs:145
Function
main
()
examples/parametrized_function.rs:180
Method
meet
(lhs: Partial<Self>, rhs: Partial<Self>, _ctx: &mut Self::Context)
src/types.rs:112
Method
meet
(lhs: Partial<Self>, rhs: Partial<Self>)
src/tests.rs:39
Method
meet
(lhs: Partial<Self>, rhs: Partial<Self>)
examples/parametrized_function.rs:38
Method
new
(ix: usize)
src/keys.rs:193
Method
new
Creates an empty constraint graph.
src/constraint_graph.rs:227
Method
new
Creates a new, empty type checker.
src/type_checker.rs:79
Method
new_niladic
Creates a full vertex without information regarding its children.
src/constraint_graph.rs:220
Method
serialize
(&self, serializer: S)
src/keys.rs:242
Method
source
(&self)
src/type_checker.rs:322
Function
test_asym_order
()
src/tests.rs:305
Function
test_asym_separation
()
src/tests.rs:319
Function
test_asym_simple
()
src/tests.rs:291
Function
test_meet
()
src/tests.rs:344
Function
test_variable_dedup
()
src/tests.rs:277
Method
top
()
src/types.rs:108
Method
top
()
src/tests.rs:35
Method
top
()
src/constraint_graph.rs:75
Method
top
()
examples/parametrized_function.rs:34
next →
1–100 of 107, ranked by callers