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

        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 )
    {
        auto sig = BuildTFuncSignature( c, tft );
        if( !sig )
            return nullopt;

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

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







|



|







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 );
    }

    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 PoisonValue();

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

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