Goose  Diff

Differences From Artifact [44b2b5baf1]:

  • File bs/builtins/types/template/build.cpp — part of check-in [4a121b956a] at 2019-08-11 18:59:54 on branch trunk — Converted all the remaining error messages to use the diagnostics manager. (user: achavasse size: 3601)

To Artifact [7decd963bb]:

  • File bs/builtins/types/template/build.cpp — part of check-in [0288a69883] at 2019-08-13 23:27:36 on branch trunk — cleanup: got rid of more optional< Value >. (user: achavasse size: 3595)

59
60
61
62
63
64
65
66

67
68
69
70

71
72
73
74
75
76
77
59
60
61
62
63
64
65

66
67
68
69

70
71
72
73
74
75
76
77







-
+



-
+








        return TVEC(
            tft.domain(),
            TERM( make_shared< Vector >( vt.persistent() ) ),
            *rtSig );
    }

    optional< Value > BuildTFunc( const Context& c, const TFuncType& tft, const Term& identity, const Value& params, ptr< void > body )
    Value BuildTFunc( const Context& c, const TFuncType& tft, const Term& identity, const Value& params, ptr< void > body )
    {
        auto sig = BuildTFuncSignature( c, tft );
        if( !sig )
            return nullopt;
            return PoisonValue();

        return ToValue( TFunc( tft, *sig, identity, body ) );
    }

    optional< Term > BuildArgPatternFromTFuncType( const Context& c, const Value& tfuncType )
    {
        const auto& ftype = FromValue< TFuncType >( tfuncType );