diff --git a/.github/docker/Dockerfile.debian-artifact-build b/.github/docker/Dockerfile.debian-artifact-build index 7a5c6cb2..e30fe2a7 100644 --- a/.github/docker/Dockerfile.debian-artifact-build +++ b/.github/docker/Dockerfile.debian-artifact-build @@ -169,7 +169,7 @@ RUN TOOLCHAIN_VER=$(' \ + -m 'Technology Concepts & Design, Inc.' \ --description 'PL/Rust is a loadable procedural language that enables writing PostgreSQL functions in the Rust programming language.' \ -v ${PLRUST_VER} \ --url 'https://github.com/tcdi/plrust' \ diff --git a/.licensure.yml b/.licensure.yml index 0915449a..800feeac 100644 --- a/.licensure.yml +++ b/.licensure.yml @@ -2,9 +2,12 @@ change_in_place: true excludes: - Cargo.toml - Cargo.lock + - rust-toolchain.toml - LICENSE - ".envrc" - ".gitignore" + - ".dockerignore" + - "doc/book.toml" - "flake\\..*" - "logo.*" - ".github/**/*" @@ -14,16 +17,19 @@ excludes: - ".*\\.md" - ".*\\.nix" - ".*\\.yml" + - ".*\\.png" licenses: - files: any ident: PostgreSQL authors: - name: Technology Concepts & Design, Inc. - email: opensource@tcdi.com template: | - Copyright 2021-2023 Technology Concepts & Design, Inc. - - Use of this source code is governed by the [ident] license that can be found in the LICENSE.md file. + Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + + All rights reserved. + + Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. + comments: - columns: 120 extensions: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e73045ae..ae5d81d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -94,7 +94,7 @@ and that you are satisfied with the existing copyright notice as of opening your ``` Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. ``` It is the latter to which copyrights for all merged code is assigned. diff --git a/Dockerfile.try b/Dockerfile.try index 3d13ce5b..d56bc469 100644 --- a/Dockerfile.try +++ b/Dockerfile.try @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. # Example of how to build and run this Dockerfile: # docker build -f Dockerfile.try -t tcdi/try-plrust . # Build the container # docker run -it tcdi/try-plrust # Run the container diff --git a/LICENSE.md b/LICENSE.md index f6fbd4dc..fb4d64e8 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ The PostgreSQL License -Copyright (c): Portions Copyright 2020-2021 ZomboDB, LLC. Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Copyright (c): Portions Copyright 2020-2021 ZomboDB, LLC. Portions Copyright 2021-2025 Technology Concepts & Design, Inc. Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. diff --git a/README.md b/README.md index f1662f3d..2a1400e0 100644 --- a/README.md +++ b/README.md @@ -23,11 +23,6 @@ PL/Rust's [documentation](https://tcdi.github.io/plrust) can be found at https:/ Head on over to the PL/Rust [releases page](https://github.com/tcdi/plrust/releases) to get the latest release and check out [the documentation page](https://tcdi.github.io/plrust/install-plrust-on-debian-ubuntu.html) to get started with PL/Rust. -# Join our Community - -The PL/Rust team at [TCDI](https://www.tcdi.com/) manages a Discord server where we discuss PL/Rust and related technologies -such as [`pgrx`](https://github.com/tcdi/pgrx), Rust, and Postgres. Feel free to join: https://discord.gg/mHKrj55zyh - # Quick Example An example PL/Rust function: diff --git a/doc/src/plrust.md b/doc/src/plrust.md index 4389a9cd..d00410ff 100644 --- a/doc/src/plrust.md +++ b/doc/src/plrust.md @@ -61,9 +61,6 @@ is developed by [TCDI](https://www.tcdi.com). The following sections discuss PL/Rusts safety guarantees, configuration settings, and installation instructions. - - - # General Safety, by Rust Quoted from the "Rustonomicon": diff --git a/plrust-tests/run-tests.sh b/plrust-tests/run-tests.sh index a90e6067..9b70aceb 100755 --- a/plrust-tests/run-tests.sh +++ b/plrust-tests/run-tests.sh @@ -1,4 +1,10 @@ #! /bin/bash +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. VERSION=$1 diff --git a/plrust-tests/src/alter.rs b/plrust-tests/src/alter.rs index 78216270..3b9d394e 100644 --- a/plrust-tests/src/alter.rs +++ b/plrust-tests/src/alter.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/argument.rs b/plrust-tests/src/argument.rs index 1bc2a270..f61b063e 100644 --- a/plrust-tests/src/argument.rs +++ b/plrust-tests/src/argument.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/basic.rs b/plrust-tests/src/basic.rs index 10e882d7..36067b7d 100644 --- a/plrust-tests/src/basic.rs +++ b/plrust-tests/src/basic.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/blocked_code.rs b/plrust-tests/src/blocked_code.rs index 3376dfe6..331bc77f 100644 --- a/plrust-tests/src/blocked_code.rs +++ b/plrust-tests/src/blocked_code.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/borrow_mut_error.rs b/plrust-tests/src/borrow_mut_error.rs index d78162f9..ea5b44d4 100644 --- a/plrust-tests/src/borrow_mut_error.rs +++ b/plrust-tests/src/borrow_mut_error.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/ddl.rs b/plrust-tests/src/ddl.rs index 44fb1383..f1324514 100644 --- a/plrust-tests/src/ddl.rs +++ b/plrust-tests/src/ddl.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/dependencies.rs b/plrust-tests/src/dependencies.rs index 08a20180..28eacd4b 100644 --- a/plrust-tests/src/dependencies.rs +++ b/plrust-tests/src/dependencies.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/fn_call.rs b/plrust-tests/src/fn_call.rs index b17ddcdc..1b8616ff 100644 --- a/plrust-tests/src/fn_call.rs +++ b/plrust-tests/src/fn_call.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. @@ -17,16 +17,16 @@ mod tests { fn plrust_fn_call() -> spi::Result<()> { let sql = r#" CREATE FUNCTION dynamic_function(i int) RETURNS int LANGUAGE plrust AS $$ Ok(i) $$; - + CREATE FUNCTION test_plrust_fn_call() RETURNS int LANGUAGE plrust - AS $$ + AS $$ let result = fn_call("dynamic_function", &[&Arg::Value(42i32)]); - + assert_eq!(result, Ok(Some(42i32))); - + Ok(None) $$; - + SELECT test_plrust_fn_call(); "#; Spi::run(sql) diff --git a/plrust-tests/src/lib.rs b/plrust-tests/src/lib.rs index b0e72743..43d46f47 100644 --- a/plrust-tests/src/lib.rs +++ b/plrust-tests/src/lib.rs @@ -1,3 +1,12 @@ +/* +Portions Copyright 2020-2021 ZomboDB, LLC. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ + mod alter; mod argument; mod basic; @@ -21,15 +30,6 @@ use pgrx::prelude::*; pgrx::pg_module_magic!(); -/* -Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. - -All rights reserved. - -Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. -*/ - #[cfg(any(test, feature = "pg_test"))] #[pgrx::pg_schema] mod tests { diff --git a/plrust-tests/src/matches.rs b/plrust-tests/src/matches.rs index 13c7b56a..10fdce92 100644 --- a/plrust-tests/src/matches.rs +++ b/plrust-tests/src/matches.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/panics.rs b/plrust-tests/src/panics.rs index 9db4b48d..fd7e386b 100644 --- a/plrust-tests/src/panics.rs +++ b/plrust-tests/src/panics.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/range.rs b/plrust-tests/src/range.rs index eacbbb1f..6688a9d7 100644 --- a/plrust-tests/src/range.rs +++ b/plrust-tests/src/range.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/recursion.rs b/plrust-tests/src/recursion.rs index 12817423..e7bb35fb 100644 --- a/plrust-tests/src/recursion.rs +++ b/plrust-tests/src/recursion.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/return_values.rs b/plrust-tests/src/return_values.rs index 0e4b79a8..555ff4cf 100644 --- a/plrust-tests/src/return_values.rs +++ b/plrust-tests/src/return_values.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/round_trip.rs b/plrust-tests/src/round_trip.rs index dbb2eab4..deea1e88 100644 --- a/plrust-tests/src/round_trip.rs +++ b/plrust-tests/src/round_trip.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/time_and_dates.rs b/plrust-tests/src/time_and_dates.rs index 472ae381..130ab6ab 100644 --- a/plrust-tests/src/time_and_dates.rs +++ b/plrust-tests/src/time_and_dates.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/trusted.rs b/plrust-tests/src/trusted.rs index 33b373a6..1b8daec7 100644 --- a/plrust-tests/src/trusted.rs +++ b/plrust-tests/src/trusted.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/user_defined_types.rs b/plrust-tests/src/user_defined_types.rs index 18ae7d2f..8917580f 100644 --- a/plrust-tests/src/user_defined_types.rs +++ b/plrust-tests/src/user_defined_types.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-tests/src/versioning.rs b/plrust-tests/src/versioning.rs index 69d4147d..10925f6b 100644 --- a/plrust-tests/src/versioning.rs +++ b/plrust-tests/src/versioning.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust-trusted-pgrx/Cargo.toml b/plrust-trusted-pgrx/Cargo.toml index 12e20e9b..07f6d650 100644 --- a/plrust-trusted-pgrx/Cargo.toml +++ b/plrust-trusted-pgrx/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "plrust-trusted-pgrx" version = "1.2.8" -authors = ["TCDI "] +authors = ["TCDI"] edition = "2021" license = "PostgreSQL" description = "Minimal set of `pgrx` rexports for plrust, which the authors have deemed trusted" diff --git a/plrust-trusted-pgrx/src/lib.rs b/plrust-trusted-pgrx/src/lib.rs index 3a223b3a..e8bd5964 100644 --- a/plrust-trusted-pgrx/src/lib.rs +++ b/plrust-trusted-pgrx/src/lib.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ //! `plrust-trusted-pgrx` is a re-export crate based on [pgrx](https://crates.io/crates/pgrx) which exposes //! the minimal set of `pgrx` internals necessary for `plrust` function compilation. `plrust-trusted-pgrx` //! also includes a number of Rust types for interoperating with Postgres types, access to Postgres' diff --git a/plrust/Cargo.toml b/plrust/Cargo.toml index 43fb5a02..7df4b3c2 100644 --- a/plrust/Cargo.toml +++ b/plrust/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "plrust" version = "1.2.8" -authors = ["TCDI "] +authors = ["TCDI"] edition = "2021" license = "PostgreSQL Open Source License" description = "A Trusted Rust procedural language for PostgreSQL" diff --git a/plrust/build b/plrust/build index 678bcfec..f4467c6d 100755 --- a/plrust/build +++ b/plrust/build @@ -1,4 +1,10 @@ #!/usr/bin/env bash +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. set -xe if [ -z "$STD_TARGETS" ]; then diff --git a/plrust/build.rs b/plrust/build.rs index c0a786e0..8e7ec6c7 100644 --- a/plrust/build.rs +++ b/plrust/build.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/allow_list.rs b/plrust/src/allow_list.rs index 09fce51f..31c8e960 100644 --- a/plrust/src/allow_list.rs +++ b/plrust/src/allow_list.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use crate::gucs::PLRUST_ALLOWED_DEPENDENCIES; use semver::{BuildMetadata, Comparator, Op, Version, VersionReq}; use std::cmp::Ordering; diff --git a/plrust/src/error.rs b/plrust/src/error.rs index 66f787ce..cdf5688c 100644 --- a/plrust/src/error.rs +++ b/plrust/src/error.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/gucs.rs b/plrust/src/gucs.rs index a165e89c..45bc4770 100644 --- a/plrust/src/gucs.rs +++ b/plrust/src/gucs.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. @@ -57,7 +57,7 @@ pub(crate) fn init() { ); GucRegistry::define_string_guc( - "plrust.PATH_override", + "plrust.PATH_override", "The $PATH setting to use for building plrust user functions", "It may be necessary to override $PATH in order to find compilation dependencies such as `cargo`, `cc`, etc", &PLRUST_PATH_OVERRIDE, diff --git a/plrust/src/hooks.rs b/plrust/src/hooks.rs index a4e35e04..3abc4780 100644 --- a/plrust/src/hooks.rs +++ b/plrust/src/hooks.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/lib.rs b/plrust/src/lib.rs index b0a19fc9..e4780d18 100644 --- a/plrust/src/lib.rs +++ b/plrust/src/lib.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/logging.rs b/plrust/src/logging.rs index 1132485a..47d49e7c 100644 --- a/plrust/src/logging.rs +++ b/plrust/src/logging.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/pgproc.rs b/plrust/src/pgproc.rs index 1f09048c..219f160b 100644 --- a/plrust/src/pgproc.rs +++ b/plrust/src/pgproc.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/plrust.rs b/plrust/src/plrust.rs index ad1abaeb..ec16b1cd 100644 --- a/plrust/src/plrust.rs +++ b/plrust/src/plrust.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. @@ -51,8 +51,8 @@ pub(crate) unsafe fn evaluate_function( let user_crate_loaded = if let Some(current) = loaded_symbols_handle.get_mut(&fn_oid) { let current_generation_number = PgProc::new(fn_oid)?.generation_number(); - // `generation_number`` represents the transaction id and command id that inserted this - // row (in this case into pg_catalog.pg_proc). So if it's changed from the last time we + // `generation_number`` represents the transaction id and command id that inserted this + // row (in this case into pg_catalog.pg_proc). So if it's changed from the last time we // loaded the function then we have more work to do... if current.generation_number() != current_generation_number { // the function, which we've previously loaded, was changed by a concurrent session. diff --git a/plrust/src/prosrc.rs b/plrust/src/prosrc.rs index ef8fb6c1..908d9683 100644 --- a/plrust/src/prosrc.rs +++ b/plrust/src/prosrc.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/target.rs b/plrust/src/target.rs index 71411c70..5d1ff65f 100644 --- a/plrust/src/target.rs +++ b/plrust/src/target.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/tests.rs b/plrust/src/tests.rs index 6ff17da4..6f0b6c2b 100644 --- a/plrust/src/tests.rs +++ b/plrust/src/tests.rs @@ -1,6 +1,6 @@ /* Portions Copyright 2020-2021 ZomboDB, LLC. -Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/build.rs b/plrust/src/user_crate/build.rs index 29c28602..067a8f34 100644 --- a/plrust/src/user_crate/build.rs +++ b/plrust/src/user_crate/build.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/capabilities.rs b/plrust/src/user_crate/capabilities.rs index 548034e0..f2134805 100644 --- a/plrust/src/user_crate/capabilities.rs +++ b/plrust/src/user_crate/capabilities.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use serde::{Deserialize, Serialize}; use std::collections::BTreeSet; diff --git a/plrust/src/user_crate/cargo.rs b/plrust/src/user_crate/cargo.rs index 35684b54..4e242573 100644 --- a/plrust/src/user_crate/cargo.rs +++ b/plrust/src/user_crate/cargo.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/crate_variant.rs b/plrust/src/user_crate/crate_variant.rs index 7b646726..40cad42f 100644 --- a/plrust/src/user_crate/crate_variant.rs +++ b/plrust/src/user_crate/crate_variant.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/crating.rs b/plrust/src/user_crate/crating.rs index d48cc9fe..9668e698 100644 --- a/plrust/src/user_crate/crating.rs +++ b/plrust/src/user_crate/crating.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/lint.rs b/plrust/src/user_crate/lint.rs index 7bc7cecf..bfb5d419 100644 --- a/plrust/src/user_crate/lint.rs +++ b/plrust/src/user_crate/lint.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use std::borrow::Borrow; use std::collections::BTreeSet; use std::fmt::{Display, Formatter}; diff --git a/plrust/src/user_crate/loading.rs b/plrust/src/user_crate/loading.rs index 9cbea2e1..e49fef02 100644 --- a/plrust/src/user_crate/loading.rs +++ b/plrust/src/user_crate/loading.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/mod.rs b/plrust/src/user_crate/mod.rs index 2adb4a29..e84cb0f5 100644 --- a/plrust/src/user_crate/mod.rs +++ b/plrust/src/user_crate/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/ready.rs b/plrust/src/user_crate/ready.rs index 7817a376..e873ec3b 100644 --- a/plrust/src/user_crate/ready.rs +++ b/plrust/src/user_crate/ready.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrust/src/user_crate/validate.rs b/plrust/src/user_crate/validate.rs index a85fea5e..3d20322f 100644 --- a/plrust/src/user_crate/validate.rs +++ b/plrust/src/user_crate/validate.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use pgrx::pg_sys; use crate::error::PlRustError; diff --git a/plrust/src/user_crate/verify.rs b/plrust/src/user_crate/verify.rs index b27cae3b..f7090aec 100644 --- a/plrust/src/user_crate/verify.rs +++ b/plrust/src/user_crate/verify.rs @@ -1,5 +1,5 @@ /* -Copyright 2021-2023 Technology Concepts & Design, Inc. +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. All rights reserved. diff --git a/plrustc/build.sh b/plrustc/build.sh index 42315378..30a538f6 100755 --- a/plrustc/build.sh +++ b/plrustc/build.sh @@ -1,4 +1,10 @@ #!/usr/bin/env bash +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. set -e # set -x diff --git a/plrustc/plrustc/Cargo.toml b/plrustc/plrustc/Cargo.toml index de66ade0..7e902973 100644 --- a/plrustc/plrustc/Cargo.toml +++ b/plrustc/plrustc/Cargo.toml @@ -4,7 +4,7 @@ version = "1.2.8" edition = "2021" description = "`rustc_driver` wrapper for plrust" license = "PostgreSQL" -authors = ["TCDI "] +authors = ["TCDI"] homepage = "https://github.com/tcdi/plrust/" repository = "https://github.com/tcdi/plrust/" diff --git a/plrustc/plrustc/src/lints/async_await.rs b/plrustc/plrustc/src/lints/async_await.rs index eaca931b..5c28cffa 100644 --- a/plrustc/plrustc/src/lints/async_await.rs +++ b/plrustc/plrustc/src/lints/async_await.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_ast as ast; use rustc_lint::{EarlyContext, EarlyLintPass, LintContext}; use rustc_span::Span; diff --git a/plrustc/plrustc/src/lints/autotrait_impls.rs b/plrustc/plrustc/src/lints/autotrait_impls.rs index 5f33b04c..80bb7e73 100644 --- a/plrustc/plrustc/src/lints/autotrait_impls.rs +++ b/plrustc/plrustc/src/lints/autotrait_impls.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; use rustc_span::Span; diff --git a/plrustc/plrustc/src/lints/builtin_macros.rs b/plrustc/plrustc/src/lints/builtin_macros.rs index 123c4fb1..c0d95cd3 100644 --- a/plrustc/plrustc/src/lints/builtin_macros.rs +++ b/plrustc/plrustc/src/lints/builtin_macros.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use super::utils; use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/closure_trait_impl.rs b/plrustc/plrustc/src/lints/closure_trait_impl.rs index d0a66370..bbe85efd 100644 --- a/plrustc/plrustc/src/lints/closure_trait_impl.rs +++ b/plrustc/plrustc/src/lints/closure_trait_impl.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ //! Trait objects are [often inferred as 'static][trait-obj-default], //! which can result, when combined with things like boxed closures, //! in an incorrect lifetime also being inferred for the return type. diff --git a/plrustc/plrustc/src/lints/extern_blocks.rs b/plrustc/plrustc/src/lints/extern_blocks.rs index 5c387338..49945158 100644 --- a/plrustc/plrustc/src/lints/extern_blocks.rs +++ b/plrustc/plrustc/src/lints/extern_blocks.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/external_mod.rs b/plrustc/plrustc/src/lints/external_mod.rs index 82f61be8..b00d7f7d 100644 --- a/plrustc/plrustc/src/lints/external_mod.rs +++ b/plrustc/plrustc/src/lints/external_mod.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_ast as ast; use rustc_lint::{EarlyContext, EarlyLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/fn_ptr.rs b/plrustc/plrustc/src/lints/fn_ptr.rs index bfae9899..7d1460e0 100644 --- a/plrustc/plrustc/src/lints/fn_ptr.rs +++ b/plrustc/plrustc/src/lints/fn_ptr.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/force_ice.rs b/plrustc/plrustc/src/lints/force_ice.rs index e1c436b2..2fd57b9b 100644 --- a/plrustc/plrustc/src/lints/force_ice.rs +++ b/plrustc/plrustc/src/lints/force_ice.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_ast as ast; use rustc_lint::{EarlyContext, EarlyLintPass}; use rustc_span::Span; diff --git a/plrustc/plrustc/src/lints/leaky.rs b/plrustc/plrustc/src/lints/leaky.rs index 7880b9ca..6841185e 100644 --- a/plrustc/plrustc/src/lints/leaky.rs +++ b/plrustc/plrustc/src/lints/leaky.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/lifetime_param_trait.rs b/plrustc/plrustc/src/lints/lifetime_param_trait.rs index 01ffe81a..f9d7035a 100644 --- a/plrustc/plrustc/src/lints/lifetime_param_trait.rs +++ b/plrustc/plrustc/src/lints/lifetime_param_trait.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/mod.rs b/plrustc/plrustc/src/lints/mod.rs index 3f3eda90..d05706fa 100644 --- a/plrustc/plrustc/src/lints/mod.rs +++ b/plrustc/plrustc/src/lints/mod.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use once_cell::sync::Lazy; use rustc_lint::LintStore; use rustc_lint_defs::{Lint, LintId}; diff --git a/plrustc/plrustc/src/lints/print_macros.rs b/plrustc/plrustc/src/lints/print_macros.rs index 1d0852f4..79272a4a 100644 --- a/plrustc/plrustc/src/lints/print_macros.rs +++ b/plrustc/plrustc/src/lints/print_macros.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; use rustc_span::Span; diff --git a/plrustc/plrustc/src/lints/static_impls.rs b/plrustc/plrustc/src/lints/static_impls.rs index 2c0a31ca..0c490371 100644 --- a/plrustc/plrustc/src/lints/static_impls.rs +++ b/plrustc/plrustc/src/lints/static_impls.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/stdio.rs b/plrustc/plrustc/src/lints/stdio.rs index 63bea0d7..c594044a 100644 --- a/plrustc/plrustc/src/lints/stdio.rs +++ b/plrustc/plrustc/src/lints/stdio.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; diff --git a/plrustc/plrustc/src/lints/sus_trait_object.rs b/plrustc/plrustc/src/lints/sus_trait_object.rs index 3d72959a..79e8fcdf 100644 --- a/plrustc/plrustc/src/lints/sus_trait_object.rs +++ b/plrustc/plrustc/src/lints/sus_trait_object.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; use rustc_middle::ty; diff --git a/plrustc/plrustc/src/lints/utils.rs b/plrustc/plrustc/src/lints/utils.rs index cbeb77fa..c472bff6 100644 --- a/plrustc/plrustc/src/lints/utils.rs +++ b/plrustc/plrustc/src/lints/utils.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use hir::{def::Res, def_id::DefId}; use rustc_hir as hir; use rustc_lint::LateContext; diff --git a/plrustc/plrustc/src/main.rs b/plrustc/plrustc/src/main.rs index 2d712d6e..044d47e7 100644 --- a/plrustc/plrustc/src/main.rs +++ b/plrustc/plrustc/src/main.rs @@ -1,4 +1,11 @@ #![feature(rustc_private)] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ extern crate rustc_ast; extern crate rustc_driver; extern crate rustc_errors; diff --git a/plrustc/plrustc/tests/uitests.rs b/plrustc/plrustc/tests/uitests.rs index c465bae3..fc2563b6 100644 --- a/plrustc/plrustc/tests/uitests.rs +++ b/plrustc/plrustc/tests/uitests.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use std::path::PathBuf; #[test] diff --git a/plrustc/plrustc/uitests/async_await.rs b/plrustc/plrustc/uitests/async_await.rs index 3c514449..1cb94543 100644 --- a/plrustc/plrustc/uitests/async_await.rs +++ b/plrustc/plrustc/uitests/async_await.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ async fn foo() {} diff --git a/plrustc/plrustc/uitests/async_await.stderr b/plrustc/plrustc/uitests/async_await.stderr index 566482fd..c9c5dd31 100644 --- a/plrustc/plrustc/uitests/async_await.stderr +++ b/plrustc/plrustc/uitests/async_await.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: Use of async/await is forbidden in PL/Rust --> $DIR/async_await.rs:3:1 | diff --git a/plrustc/plrustc/uitests/extern_block.rs b/plrustc/plrustc/uitests/extern_block.rs index 8276572f..c3f32206 100644 --- a/plrustc/plrustc/uitests/extern_block.rs +++ b/plrustc/plrustc/uitests/extern_block.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ extern "C" {} extern "Rust" {} #[rustfmt::skip] diff --git a/plrustc/plrustc/uitests/extern_block.stderr b/plrustc/plrustc/uitests/extern_block.stderr index 4d663c11..60d1f31c 100644 --- a/plrustc/plrustc/uitests/extern_block.stderr +++ b/plrustc/plrustc/uitests/extern_block.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: `extern` blocks are not allowed in PL/Rust --> $DIR/extern_block.rs:2:1 | diff --git a/plrustc/plrustc/uitests/external_mod.rs b/plrustc/plrustc/uitests/external_mod.rs index 09edb10b..7b8066ba 100644 --- a/plrustc/plrustc/uitests/external_mod.rs +++ b/plrustc/plrustc/uitests/external_mod.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ // Should be allowed. pub mod blah {} diff --git a/plrustc/plrustc/uitests/external_mod.stderr b/plrustc/plrustc/uitests/external_mod.stderr index ce3a2133..571f0e86 100644 --- a/plrustc/plrustc/uitests/external_mod.stderr +++ b/plrustc/plrustc/uitests/external_mod.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: Use of external modules is forbidden in PL/Rust --> $DIR/external_mod.rs:8:1 | diff --git a/plrustc/plrustc/uitests/external_mod_included_file.txt b/plrustc/plrustc/uitests/external_mod_included_file.txt index a991e5bf..4188cccf 100644 --- a/plrustc/plrustc/uitests/external_mod_included_file.txt +++ b/plrustc/plrustc/uitests/external_mod_included_file.txt @@ -1 +1,7 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. // This is valid rust syntax, but is meaningless. diff --git a/plrustc/plrustc/uitests/fn_pointer.rs b/plrustc/plrustc/uitests/fn_pointer.rs index 2a366cb5..cccf2b92 100644 --- a/plrustc/plrustc/uitests/fn_pointer.rs +++ b/plrustc/plrustc/uitests/fn_pointer.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ pub fn foobar<'short, T>(r: &'short T) -> &'static T { fn foo<'out, 'input, T>(_dummy: &'out (), value: &'input T) -> (&'out &'input (), &'out T) { diff --git a/plrustc/plrustc/uitests/fn_pointer.stderr b/plrustc/plrustc/uitests/fn_pointer.stderr index c10fbaa8..2ffa78cd 100644 --- a/plrustc/plrustc/uitests/fn_pointer.stderr +++ b/plrustc/plrustc/uitests/fn_pointer.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: Use of function pointers is forbidden in PL/Rust --> $DIR/fn_pointer.rs:7:15 | diff --git a/plrustc/plrustc/uitests/fn_traits.rs b/plrustc/plrustc/uitests/fn_traits.rs index 5ba7dc1a..c3b54eb1 100644 --- a/plrustc/plrustc/uitests/fn_traits.rs +++ b/plrustc/plrustc/uitests/fn_traits.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ fn blah() { let _a: &dyn Fn() = &|| {}; diff --git a/plrustc/plrustc/uitests/fn_traits.stderr b/plrustc/plrustc/uitests/fn_traits.stderr index 0b8fb083..b876a001 100644 --- a/plrustc/plrustc/uitests/fn_traits.stderr +++ b/plrustc/plrustc/uitests/fn_traits.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: Use of function trait objects is forbidden in PL/Rust --> $DIR/fn_traits.rs:4:14 | diff --git a/plrustc/plrustc/uitests/fs_macros.rs b/plrustc/plrustc/uitests/fs_macros.rs index 41ee9431..77e7841d 100644 --- a/plrustc/plrustc/uitests/fs_macros.rs +++ b/plrustc/plrustc/uitests/fs_macros.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ const _A: &str = include_str!("fs_macros_included_file.txt"); diff --git a/plrustc/plrustc/uitests/fs_macros.stderr b/plrustc/plrustc/uitests/fs_macros.stderr index f2b2c741..a4911795 100644 --- a/plrustc/plrustc/uitests/fs_macros.stderr +++ b/plrustc/plrustc/uitests/fs_macros.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: the `include_str`, `include_bytes`, and `include` macros are forbidden in PL/Rust --> $DIR/fs_macros.rs:3:18 | diff --git a/plrustc/plrustc/uitests/fs_macros_included_file.txt b/plrustc/plrustc/uitests/fs_macros_included_file.txt index ce013625..7ba580fd 100644 --- a/plrustc/plrustc/uitests/fs_macros_included_file.txt +++ b/plrustc/plrustc/uitests/fs_macros_included_file.txt @@ -1 +1,7 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. hello diff --git a/plrustc/plrustc/uitests/ice_hook.rs b/plrustc/plrustc/uitests/ice_hook.rs index bd552fdc..da4618de 100644 --- a/plrustc/plrustc/uitests/ice_hook.rs +++ b/plrustc/plrustc/uitests/ice_hook.rs @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ // rustc-env:RUST_BACKTRACE=0 // rustc-env:PLRUSTC_INCLUDE_TEST_ONLY_LINTS=1 // normalize-stderr-test: "plrustc version: .*" -> "plrustc version: " diff --git a/plrustc/plrustc/uitests/ice_hook.stderr b/plrustc/plrustc/uitests/ice_hook.stderr index 74149be3..f89c17d6 100644 --- a/plrustc/plrustc/uitests/ice_hook.stderr +++ b/plrustc/plrustc/uitests/ice_hook.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. thread 'rustc' panicked at 'Here is your ICE', plrustc/src/lints/force_ice.rs note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace diff --git a/plrustc/plrustc/uitests/impl_auto_trait.rs b/plrustc/plrustc/uitests/impl_auto_trait.rs index bddddce1..70096327 100644 --- a/plrustc/plrustc/uitests/impl_auto_trait.rs +++ b/plrustc/plrustc/uitests/impl_auto_trait.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ pub struct Foo(pub std::cell::Cell, pub std::marker::PhantomPinned); diff --git a/plrustc/plrustc/uitests/impl_auto_trait.stderr b/plrustc/plrustc/uitests/impl_auto_trait.stderr index 5eddd700..e5f1a94c 100644 --- a/plrustc/plrustc/uitests/impl_auto_trait.stderr +++ b/plrustc/plrustc/uitests/impl_auto_trait.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: explicit implementations of auto traits are forbidden in PL/Rust --> $DIR/impl_auto_trait.rs:5:1 | diff --git a/plrustc/plrustc/uitests/leaky.rs b/plrustc/plrustc/uitests/leaky.rs index 559dff68..dc3357dc 100644 --- a/plrustc/plrustc/uitests/leaky.rs +++ b/plrustc/plrustc/uitests/leaky.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ fn _f() { let a = Box::new(1u32); diff --git a/plrustc/plrustc/uitests/leaky.stderr b/plrustc/plrustc/uitests/leaky.stderr index b0882a5b..5f372e26 100644 --- a/plrustc/plrustc/uitests/leaky.stderr +++ b/plrustc/plrustc/uitests/leaky.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: Leaky functions are forbidden in PL/Rust --> $DIR/leaky.rs:5:14 | diff --git a/plrustc/plrustc/uitests/lifetime_trait.rs b/plrustc/plrustc/uitests/lifetime_trait.rs index 83385096..e1a84c42 100644 --- a/plrustc/plrustc/uitests/lifetime_trait.rs +++ b/plrustc/plrustc/uitests/lifetime_trait.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ // #![forbid(plrust_lifetime_parameterized_traits)] trait Foo<'a> {} diff --git a/plrustc/plrustc/uitests/lifetime_trait.stderr b/plrustc/plrustc/uitests/lifetime_trait.stderr index 237df151..a6b75588 100644 --- a/plrustc/plrustc/uitests/lifetime_trait.stderr +++ b/plrustc/plrustc/uitests/lifetime_trait.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: PL/Rust forbids declaring traits with generic lifetime parameters --> $DIR/lifetime_trait.rs:3:1 | diff --git a/plrustc/plrustc/uitests/print_macros.rs b/plrustc/plrustc/uitests/print_macros.rs index b1dbe548..af0696a2 100644 --- a/plrustc/plrustc/uitests/print_macros.rs +++ b/plrustc/plrustc/uitests/print_macros.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ fn _foo() { print!("hello"); diff --git a/plrustc/plrustc/uitests/print_macros.stderr b/plrustc/plrustc/uitests/print_macros.stderr index d51890ae..1865ad5c 100644 --- a/plrustc/plrustc/uitests/print_macros.stderr +++ b/plrustc/plrustc/uitests/print_macros.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: the printing macros are forbidden in PL/Rust, consider using `pgrx::log!()` instead --> $DIR/print_macros.rs:4:5 | diff --git a/plrustc/plrustc/uitests/static_closure.rs b/plrustc/plrustc/uitests/static_closure.rs index beb3fe60..291ed594 100644 --- a/plrustc/plrustc/uitests/static_closure.rs +++ b/plrustc/plrustc/uitests/static_closure.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use std::fmt; trait Trait { type Associated; diff --git a/plrustc/plrustc/uitests/static_closure.stderr b/plrustc/plrustc/uitests/static_closure.stderr index b403c47a..1d979e6a 100644 --- a/plrustc/plrustc/uitests/static_closure.stderr +++ b/plrustc/plrustc/uitests/static_closure.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: trait impls bounded on function traits are forbidden in PL/Rust --> $DIR/static_closure.rs:7:10 | diff --git a/plrustc/plrustc/uitests/static_impl_etc.rs b/plrustc/plrustc/uitests/static_impl_etc.rs index d3a1aed2..81a28b51 100644 --- a/plrustc/plrustc/uitests/static_impl_etc.rs +++ b/plrustc/plrustc/uitests/static_impl_etc.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ trait Foo {} struct Bar(core::marker::PhantomData<(A, B)>); diff --git a/plrustc/plrustc/uitests/static_impl_etc.stderr b/plrustc/plrustc/uitests/static_impl_etc.stderr index 9fe60181..bcc338ec 100644 --- a/plrustc/plrustc/uitests/static_impl_etc.stderr +++ b/plrustc/plrustc/uitests/static_impl_etc.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: `impl` blocks for types containing `'static` references are not allowed in PL/Rust --> $DIR/static_impl_etc.rs:8:17 | diff --git a/plrustc/plrustc/uitests/static_impl_unsound.rs b/plrustc/plrustc/uitests/static_impl_unsound.rs index 352ff108..465479d9 100644 --- a/plrustc/plrustc/uitests/static_impl_unsound.rs +++ b/plrustc/plrustc/uitests/static_impl_unsound.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use std::fmt::Display; diff --git a/plrustc/plrustc/uitests/static_impl_unsound.stderr b/plrustc/plrustc/uitests/static_impl_unsound.stderr index 3e6fcb4d..40fd6d79 100644 --- a/plrustc/plrustc/uitests/static_impl_unsound.stderr +++ b/plrustc/plrustc/uitests/static_impl_unsound.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: `impl` blocks for types containing `'static` references are not allowed in PL/Rust --> $DIR/static_impl_unsound.rs:11:34 | diff --git a/plrustc/plrustc/uitests/stdio.rs b/plrustc/plrustc/uitests/stdio.rs index 3b45d3e9..4ccbb718 100644 --- a/plrustc/plrustc/uitests/stdio.rs +++ b/plrustc/plrustc/uitests/stdio.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ fn _foo() { let _out = std::io::stdout(); diff --git a/plrustc/plrustc/uitests/stdio.stderr b/plrustc/plrustc/uitests/stdio.stderr index e123eb3d..3477125b 100644 --- a/plrustc/plrustc/uitests/stdio.stderr +++ b/plrustc/plrustc/uitests/stdio.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: the standard streams are forbidden in PL/Rust, consider using `pgrx::log!()` instead --> $DIR/stdio.rs:4:16 | diff --git a/plrustc/plrustc/uitests/sus_trait_obj_alias.rs b/plrustc/plrustc/uitests/sus_trait_obj_alias.rs index 7487408d..75615428 100644 --- a/plrustc/plrustc/uitests/sus_trait_obj_alias.rs +++ b/plrustc/plrustc/uitests/sus_trait_obj_alias.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ trait Object { type Output; } diff --git a/plrustc/plrustc/uitests/sus_trait_obj_alias.stderr b/plrustc/plrustc/uitests/sus_trait_obj_alias.stderr index ed486feb..a944a811 100644 --- a/plrustc/plrustc/uitests/sus_trait_obj_alias.stderr +++ b/plrustc/plrustc/uitests/sus_trait_obj_alias.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: using trait objects in turbofish position is forbidden by PL/Rust --> $DIR/sus_trait_obj_alias.rs:17:5 | diff --git a/plrustc/plrustc/uitests/sus_trait_obj_items.rs b/plrustc/plrustc/uitests/sus_trait_obj_items.rs index f4693812..7c007cfc 100644 --- a/plrustc/plrustc/uitests/sus_trait_obj_items.rs +++ b/plrustc/plrustc/uitests/sus_trait_obj_items.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ pub trait Foo {} diff --git a/plrustc/plrustc/uitests/sus_trait_obj_items.stderr b/plrustc/plrustc/uitests/sus_trait_obj_items.stderr index 75bb4069..cd0b678f 100644 --- a/plrustc/plrustc/uitests/sus_trait_obj_items.stderr +++ b/plrustc/plrustc/uitests/sus_trait_obj_items.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: trait objects in generic defaults are forbidden --> $DIR/sus_trait_obj_items.rs:5:1 | diff --git a/plrustc/plrustc/uitests/sus_trait_obj_transmute.rs b/plrustc/plrustc/uitests/sus_trait_obj_transmute.rs index 22ddd3ed..b35d5050 100644 --- a/plrustc/plrustc/uitests/sus_trait_obj_transmute.rs +++ b/plrustc/plrustc/uitests/sus_trait_obj_transmute.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ trait Object { type Output; diff --git a/plrustc/plrustc/uitests/sus_trait_obj_transmute.stderr b/plrustc/plrustc/uitests/sus_trait_obj_transmute.stderr index 2e2ae79a..12ed905f 100644 --- a/plrustc/plrustc/uitests/sus_trait_obj_transmute.stderr +++ b/plrustc/plrustc/uitests/sus_trait_obj_transmute.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: using trait objects in turbofish position is forbidden by PL/Rust --> $DIR/sus_trait_obj_transmute.rs:16:5 | diff --git a/plrustc/plrustc/uitests/sus_trait_object_gat.rs b/plrustc/plrustc/uitests/sus_trait_object_gat.rs index c1be16f4..99a5d5d6 100644 --- a/plrustc/plrustc/uitests/sus_trait_object_gat.rs +++ b/plrustc/plrustc/uitests/sus_trait_object_gat.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ trait Object { type Output; diff --git a/plrustc/plrustc/uitests/sus_trait_object_gat.stderr b/plrustc/plrustc/uitests/sus_trait_object_gat.stderr index e94571b6..af358139 100644 --- a/plrustc/plrustc/uitests/sus_trait_object_gat.stderr +++ b/plrustc/plrustc/uitests/sus_trait_object_gat.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error: using trait objects in turbofish position is forbidden by PL/Rust --> $DIR/sus_trait_object_gat.rs:24:5 | diff --git a/plrustc/plrustc/uitests/tuple_struct_self_pat_box.rs b/plrustc/plrustc/uitests/tuple_struct_self_pat_box.rs index d4b00408..9c8a6161 100644 --- a/plrustc/plrustc/uitests/tuple_struct_self_pat_box.rs +++ b/plrustc/plrustc/uitests/tuple_struct_self_pat_box.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ use core::ptr::NonNull; diff --git a/plrustc/plrustc/uitests/tuple_struct_self_pat_box.stderr b/plrustc/plrustc/uitests/tuple_struct_self_pat_box.stderr index 90ffcbfa..14329963 100644 --- a/plrustc/plrustc/uitests/tuple_struct_self_pat_box.stderr +++ b/plrustc/plrustc/uitests/tuple_struct_self_pat_box.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error[E0603]: tuple struct constructor `std::boxed::Box` is private --> $DIR/tuple_struct_self_pat_box.rs:10:13 | diff --git a/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.rs b/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.rs index d16dcc22..de1267dc 100644 --- a/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.rs +++ b/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ mod my { pub struct Foo(&'static str); diff --git a/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.stderr b/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.stderr index 52b82ceb..bbd18740 100644 --- a/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.stderr +++ b/plrustc/plrustc/uitests/tuple_struct_self_pat_local_priv.stderr @@ -1,3 +1,9 @@ +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. error[E0603]: tuple struct constructor `my::Foo` is private --> $DIR/tuple_struct_self_pat_local_priv.rs:8:13 | diff --git a/plrustc/plrustc/uitests/tuple_struct_self_pat_should_pass.rs b/plrustc/plrustc/uitests/tuple_struct_self_pat_should_pass.rs index 7bcc1bd2..a24633a1 100644 --- a/plrustc/plrustc/uitests/tuple_struct_self_pat_should_pass.rs +++ b/plrustc/plrustc/uitests/tuple_struct_self_pat_should_pass.rs @@ -1,4 +1,11 @@ #![crate_type = "lib"] +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ pub struct Foo(&'static str); diff --git a/publish.sh b/publish.sh index 51de9a8e..62aa1985 100755 --- a/publish.sh +++ b/publish.sh @@ -1,12 +1,11 @@ #!/usr/bin/env bash # Portions Copyright 2019-2021 ZomboDB, LLC. -# Portions Copyright 2021-2022 Technology Concepts & Design, Inc. -# +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. # # All rights reserved. # -# Use of this source code is governed by the MIT license that can be found in -# the LICENSE file. +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. set -x cd plrust-trusted-pgrx && cargo publish --no-verify diff --git a/sql/plrust--1.0--1.1.sql b/sql/plrust--1.0--1.1.sql index d3562aeb..4cb8ce56 100644 --- a/sql/plrust--1.0--1.1.sql +++ b/sql/plrust--1.0--1.1.sql @@ -1,3 +1,10 @@ +/* +Portions Copyright 2021-2025 Technology Concepts & Design, Inc. + +All rights reserved. + +Use of this source code is governed by the PostgreSQL license that can be found in the LICENSE.md file. +*/ DROP FUNCTION IF EXISTS plrust.list_allowed_dependencies(); -- plrust/src/lib.rs:197 diff --git a/update-version.sh b/update-version.sh index e62f16ac..626d1b23 100755 --- a/update-version.sh +++ b/update-version.sh @@ -1,12 +1,11 @@ #!/usr/bin/env bash # Portions Copyright 2019-2021 ZomboDB, LLC. -# Portions Copyright 2021-2022 Technology Concepts & Design, Inc. -# +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. # # All rights reserved. # -# Use of this source code is governed by the MIT license that can be found in -# the LICENSE file. +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. ## ## This script requires `cargo install cargo-workspace-version` from https://crates.io/crates/cargo-workspace-version diff --git a/upgrade-deps.sh b/upgrade-deps.sh index cd43ff62..421a7c25 100755 --- a/upgrade-deps.sh +++ b/upgrade-deps.sh @@ -1,4 +1,10 @@ #! /bin/bash +# Portions Copyright 2021-2025 Technology Concepts & Design, Inc. +# +# All rights reserved. +# +# Use of this source code is governed by the PostgreSQL license that can be +# found in the LICENSE.md file. # requires: "cargo install cargo-edit" from https://github.com/killercup/cargo-edit