| Crates.io | legalis-ca |
| lib.rs | legalis-ca |
| version | 0.1.3 |
| created_at | 2026-01-16 21:50:16.492687+00 |
| updated_at | 2026-01-21 04:45:56.468217+00 |
| description | Canada jurisdiction support for Legalis-RS (Charter of Rights, Federal/Provincial Law, Quebec Civil Law) |
| homepage | https://github.com/cool-japan/legalis |
| repository | https://github.com/cool-japan/legalis |
| max_upload_size | |
| id | 2049326 |
| size | 706,547 |
Canada / Le Canada - Legal System Support for Legalis-RS
Version 0.1.3 - Charter of Rights, Federal/Provincial Law, Quebec Civil Law
legalis-ca provides comprehensive support for the Canadian legal system within the Legalis-RS framework. Canada has a unique bijural system with common law in most provinces and civil law in Quebec.
The Canadian legal system is characterized by:
| Feature | Canada | USA | UK | France |
|---|---|---|---|---|
| Legal Family | Bijural (Common/Civil) | Common Law | Common Law | Civil Law |
| Main Source | Case Law & Codes | Case Law | Case Law | Codes |
| Constitution | 1867/1982 | 1787 | Uncodified | 1958 |
| Charter/Bill of Rights | Charter 1982 | Bill of Rights | HRA 1998 | DDHC 1789 |
| Court System | Supreme Court → Provincial/Federal | Federal & State | Supreme Court | Conseil d'État |
Constitution Act, 1867 and Constitution Act, 1982
use legalis_ca::constitution::{CharterRight, validate_charter_claim, OakesTest};
let claim = CharterClaim::new()
.right(CharterRight::FreedomOfExpression) // s 2(b)
.claimant("Individual")
.government_action("Legislation restricting speech")
.build()?;
// Apply section 1 analysis (Oakes test)
let oakes = OakesTest::new()
.pressing_objective(true)
.rational_connection(true)
.minimal_impairment(false) // Fails here
.proportionality(true)
.build()?;
assert!(!oakes.is_justified());
Common law contracts (and Quebec Civil Code)
use legalis_ca::contract::{Contract, Jurisdiction};
let contract = Contract::new()
.jurisdiction(Jurisdiction::Ontario) // Common law
.parties(vec!["Party A", "Party B"])
.consideration(50_000.00)
.build()?;
// For Quebec (civil law)
let quebec_contract = Contract::new()
.jurisdiction(Jurisdiction::Quebec) // Civil law (CCQ)
.parties(vec!["Partie A", "Partie B"])
.cause("Lawful cause") // Quebec uses "cause" not "consideration"
.build()?;
Federal and provincial employment standards
use legalis_ca::employment::{EmploymentContract, Termination};
let termination = Termination::new()
.employee_tenure_years(10)
.position("Manager")
.age(55)
.build()?;
// Calculate reasonable notice (Bardal factors)
let notice_months = termination.calculate_reasonable_notice()?;
// Considers: length of service, age, position, availability of similar employment
Canada Business Corporations Act (CBCA) and provincial equivalents
Criminal Code of Canada (federal jurisdiction)
Version 0.1.3 Statistics:
legalis-core - Core types and traitslegalis-i18n - Internationalization supportlegalis-verifier - Validation frameworklegalis-sim - Simulation supportchrono - Date/time handlingserde - Serializationthiserror - Error handlingMIT OR Apache-2.0