Differences From Artifact [1645db07ee]:
- File bs/sema/typecheck.h — part of check-in [52ea24b083] at 2021-02-25 12:10:33 on branch trunk — Implemented a new method to order function overloads. Enabled several new reference tests which are now working properly. (user: achavasse size: 951) [more...]
To Artifact [947d9f1beb]:
- File
bs/sema/typecheck.h
— part of check-in
[b48e7b7507]
at
2021-03-17 00:41:57
on branch trunk
—
- Added a Conversion step after typechecking, to take care of conversions that aren't practical to do during typechecking itself.
- Added back a proper ct_int to rt_int conversion step that diagnoses out of range integer constants
| ︙ | |||
20 21 22 23 24 25 26 27 28 29 | 20 21 22 23 24 25 26 27 28 29 30 31 | + + |
using TCGen = Generator< pair< Term, TypeCheckingContext > >;
TCGen TypeCheck( const Term& lhs, const Term& rhs, const TypeCheckingContext& tcc );
TCGen TypeCheckVec( const Term& lhs, const Term& rhs, const TypeCheckingContext& tcc );
TCGen Unify( const Term& lhs, const Term& rhs, const TypeCheckingContext& tcc );
optional< Term > HalfUnify( const Term& lhs, TypeCheckingContext& tcc );
Value Convert( const Term& tcResult, const Term& arg, const TypeCheckingContext& tcc );
}
#endif
|