Git Product home page Git Product logo

result's Introduction

result's People

Contributors

dependabot[bot] avatar threeal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

result's Issues

Merge `Result` with `ResultOf`

This pull request aims to merge the Result and ResultOf<T> structs into a single Result<T>, where T is defaulted to Ok. This consolidation eliminates duplication in implementation between Result and ResultOf<T> and simplifies the contents of this package.

Utilize Gcovr Action

This issue recommends using the Gcovr Action in the test.yaml workflow to check the test coverage and assert if the coverage doesn't meet the specified minimum percentage of lines covered.

Add `nodiscard` Attribute to `result::Result` Class

To prevent the result::Result class from being discarded when it is returned from a function, add the nodiscard attribute to the class.

This attribute will emit a warning if the return value of a function returning result::Result is not used, reminding the user to handle the result appropriately.

Modify Workflow to Utilize Default Compiler and Generator

This issue suggests modifying the build and test workflows to use the default compiler and generator instead of specifying custom ones. To set the default, one can simply remove the generator and cxx-compiler inputs from steps that utilize the CMake Action.

Remove Test Coverage Check Submission to Coveralls

This issue proposes the elimination of the step to send the test coverage report to Coveralls. The suggested change is based on the belief that sending the coverage report to Coveralls is unnecessary. Typically, it is preferable to assert if the test coverage does not reach a specific threshold, as demonstrated in the check coverage step of the C++ Starter template.

Utilize CheckWarning.cmake Module

This issue recommends incorporating the CheckWarning.cmake module to examine compiler warnings in the project, thus replacing the manual configuration of the CMAKE_CXX_FLAGS variable. With the adoption of this module, it is conceivable that the check warning jobs in the test.yml workflow may no longer be necessary, as warnings will consistently be assessed during the build process.

Documentation Build Workflow

Introduce a workflow in the GitHub actions to build the documentation. This workflow includes a job that tests the successful building of the documentation.

Separate Storage of Value and Error in `Result` Class

Modify the Result class to store the value and error separately, enabling extraction using structured binding declaration as shown in the following example:

result::Result<Image> load_image(const std::filesystem::path& path);

int main() {
  const auto [image, error] = load_image(image_path);
  if (error) {
    // Handle the error case.
  } else {
    // Do something with the image.
  }
}

Wrong Gcov Executable in Test Workflow

This issue identifies this failing build on the latest master, which appears to be caused by incorrect usage of the Gcov executable when calling the Gcovr Action.

Since #87, the test workflow is no longer built using llvm, but the Gcovr Action is still utilizing the LLVM version of the Gcov executable. This mismatch has resulted in a failing build since the merging of #88.

This issue recommends reverting the Gcov executable back to using the default executable.

Remove Test Result Submission to Testspace

This issue suggests eliminating the process of sending test results to Testspace in the test workflow. We are discontinuing the use of Testspace as monitoring test results is deemed unnecessary; any test failures should be evident in the CI log. Furthermore, anything merged into the main branch is considered to have passed testing.

Remove Badges from Readme

This issue suggests removing badges from the README.md file because the information in the badges does not seem to be important to include in the readme. Refer to threeal/pipx-install-action#119 for more information and the rationale behind this proposal.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.