* clang-format improvements
- Add a clang-format linter check to the PR pipeline
- Apply clang-format to files where the linter initially failed
- Remove `CommentPragmas` from `.clang-format`
- Remove all `// clang-format off` and `// NO-FORMAT` as they are not needed
- Remove a commented out `GSL_SUPPRESS`
* clang-format 20
* pipeline fail
* Update .github/workflows/clang-format.yml
Co-authored-by: Carson Radtke <nosrac925@gmail.com>
* output used clang-format version
* installed version is 18 which replaces "GSL_SUPPRESS(bounds.1)" with "GSL_SUPPRESS(bounds .1)"
* only include/gsl, not include
to prevent formatting of include/CMakeLists.txt
* apply clang-format[-20]
In a VS2026 developer command prompt I ran `clang-format -i include\gsl\* --assume-filename x.cpp`. This was necessary because VS GUI does not format files without an extension :(. Please note that `--assume-filename` is necessary here, otherwise the files will not be formatted. Surprisingly the behaviour for the formatter differs from the behaviour of `lang-format(-20) --dry-run --Werror include/gsl/*` where clang-format recognizes that the files is C++.
* change "#if 0" back to original version with comments only
* formatting scripts for windows and linux
for linux with linter (shfmt and shellcheck)
* add WhitespaceSensitiveMacros: [GSL_SUPPRESS]
* provide path for clang-format (Windows)
Currently not clear to me:
On my personal computer at home, when I start "Developer Command Prompt for VS18", I can run `clang-format` without providing the path.
On my managed (domain) company computer, when I start "Developer Command Prompt for VS18", I can NOT run `clang-format` without providing the path. I need to call `"%VCINSTALLDIR%Tools\Llvm\bin\clang-format"`.
I have no idea what the difference is. At least the version `"%VCINSTALLDIR%Tools\Llvm\bin\clang-format"` works on both computers, so I add the path.
---------
Co-authored-by: Werner Henze <w.henze@avm.de>
Co-authored-by: Carson Radtke <nosrac925@gmail.com>
Co-authored-by: Werner Henze <werner.henze+gitcommits@posteo.de>
* Initial plan for issue
* Add test and plan to make not_null comparison functions constexpr
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Add constexpr to not_null comparison operators
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Fix copyright year in constexpr_notnull_tests.cpp
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Fix constexpr tests for better compiler compatibility
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Remove build artifacts and update .gitignore
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Fix constexpr tests to be compatible with more compilers
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* copilot: Provide more project context for the Copilot coding agent (#1207)
* copilot: create .github/copilot-instructions.md
This file provides additional context and instructions to GitHub
Copilot so it can better understand the codebase and coding conventions.
More can be found about this file at the following links:
- [Best practices for using Copilot to work on tasks](https://docs.github.com/en/enterprise-cloud@latest/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/best-practices-for-using-copilot-to-work-on-taskshttps://docs.github.com/en/enterprise-cloud@latest/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/best-practices-for-using-copilot-to-work-on-tasks)
- [Adding repository custom instructions for GitHub Copilot](https://docs.github.com/en/enterprise-cloud@latest/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot?tool=webuihttps://docs.github.com/en/enterprise-cloud@latest/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot)
* copilot: add copilot-setup-steps.yml
This new workflow is done when copilot loads into an environment and
enables copilot to be sure it has the proper dependencies before working
on changes. Also included in the change are explicit instructions on
what to do before reporting back "done".
* Initial plan for issue
* Rebase onto main and verify changes meet project guidelines
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Update .gitignore to exclude build-cxx* directories
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Fix newline at end of constexpr_notnull_tests.cpp and update .gitignore
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* Remove C++14 feature check that is redundant since C++14 is the minimum supported standard
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
Co-authored-by: Carson Radtke <carsonradtke@microsoft.com>