Skip to content

precondition

Lightweight Precondition, Postcondition, and Sanity Checks

v0.1.0 · Mar 28, 2023 · MIT + file LICENSE

Description

Implements fast, safe, and customizable assertions routines, which can be used in place of base::stopifnot().

Downloads

189

Last 30 days

22969th

483

Last 90 days

2K

Last year

Trend: +22.7% (30d vs prior 30d)

CRAN Check Status

7 WARNING
7 NOTE
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang WARNING
r-devel-linux-x86_64-debian-gcc WARNING
r-devel-linux-x86_64-fedora-clang WARNING
r-devel-linux-x86_64-fedora-gcc WARNING
r-devel-macos-arm64 WARNING
r-devel-windows-x86_64 WARNING
r-oldrel-macos-arm64 NOTE
r-oldrel-macos-x86_64 NOTE
r-oldrel-windows-x86_64 NOTE
r-patched-linux-x86_64 WARNING
r-release-linux-x86_64 NOTE
r-release-macos-arm64 NOTE
r-release-macos-x86_64 NOTE
r-release-windows-x86_64 NOTE
Check details (25 non-OK)
NOTE r-devel-linux-x86_64-debian-clang

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-linux-x86_64-debian-clang

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’, ‘R_UnboundValue’,
    ‘Rf_findVarInFrame’
These entry points may be removed soon:
‘Rf_findVarInFrame’, ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-devel-linux-x86_64-debian-gcc

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-linux-x86_64-debian-gcc

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’, ‘R_UnboundValue’,
    ‘Rf_findVarInFrame’
These entry points may be removed soon:
‘Rf_findVarInFrame’, ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-linux-x86_64-fedora-clang

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’, ‘R_UnboundValue’,
    ‘Rf_findVarInFrame’
These entry points may be removed soon:
‘Rf_findVarInFrame’, ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-linux-x86_64-fedora-gcc

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’, ‘R_UnboundValue’,
    ‘Rf_findVarInFrame’
These entry points may be removed soon:
‘Rf_findVarInFrame’, ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-macos-arm64

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’,
    ‘Rf_findVarInFrame’
These entry points may be removed soon:
‘Rf_findVarInFrame’, ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-windows-x86_64

compiled code

File 'precondition/libs/x64/precondition.dll':
  Found non-API calls to R: 'PRENV', 'R_PromiseExpr', 'R_UnboundValue',
    'Rf_findVarInFrame'
These entry points may be removed soon:
'Rf_findVarInFrame', 'PRENV', 'R_PromiseExpr'

Compiled code should not call non-API entry points in R.

See 'Writing portable packages' in the 'Writing R Extensions' manual,
and section 'Moving into C API compliance' for issues with the use of
non-API entry points.
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-patched-linux-x86_64

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’, ‘R_UnboundValue’,
    ‘Rf_findVarInFrame’
These entry points may be removed soon:
‘Rf_findVarInFrame’, ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-linux-x86_64

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-macos-arm64

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-macos-x86_64

compiled code

File ‘precondition/libs/precondition.so’:
  Found non-API calls to R: ‘PRENV’, ‘R_PromiseExpr’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-windows-x86_64

compiled code

File 'precondition/libs/x64/precondition.dll':
  Found non-API calls to R: 'PRENV', 'R_PromiseExpr'

Compiled code should not call non-API entry points in R.

See 'Writing portable packages' in the 'Writing R Extensions' manual,
and section 'Moving into C API compliance' for issues with the use of
non-API entry points.

Additional Issues

Check History

WARNING 0 OK · 11 NOTE · 3 WARNING · 0 ERROR · 0 FAILURE Mar 17, 2026
NOTE r-devel-linux-x86_64-debian-clang

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-linux-x86_64-debian-gcc

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
WARNING r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE 0 OK · 14 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
NOTE r-devel-linux-x86_64-debian-clang

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-devel-linux-x86_64-debian-gcc

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) diagnose_expressions.Rd:39: Lost braces
    39 | \item wrapping a function argument in two curly braces (e.g. `{{arg}} > 0) means
       |                                                               ^

Dependency Network

Dependencies Reverse dependencies rlang precondition

Version History

new 0.1.0 Mar 10, 2026