Module type_level_values::docs[][src]

This library has many kinds of uses,from defining a compile-time equivalent of a type to using that type as a parameter to a struct/function.

Introduction

For the introduction to this library go here.

Guide

This guide will guide any user towards defining type-level-values and using them, starting with simple examples,then getting gradually more complex.

The guide chapters are the guide_* submodules.

Reference

This is the reference for topics not coverred in api documentation:

Modules

appendix_error_messages

This appendix is about how to read compiler error messages.

appendix_patterns

This appendix describes some of the patterns in this library.

attribute_const_constructor

The ConstConstructor derive macro provides these features:

attribute_shared

These are things that all the derive macros in the derive_type_level crate share.

attribute_typelevel

The TypeLevel derive attribute,used to create a compile-time equivalent of a type.

doc_code_snippets_macro
guide_01

Defining a type-level-value (aka ConstValue) is done through the TypeLevel derive macro of the derive_type_level crate.

guide_02

Here's an example of defining and using a type-level-enum as a type-parameter to a struct.

guide_03

Here's an example of using a type-level-Range as a ConstValue-parameter to a struct.

guide_04

Here is an example of using a ConstValue-parameter to chose between different implementations of std::fmt::Debug .

guide_05

Here is an example of using a type-level struct to enable/disable access to a field (through an accessor method).

guide_06

This chapter demonstrates how a Const-method is declared and used.

guide_07

This chapter demonstrates a Const-method used to mutate the ConstValue-parameter of a type wrapped in an Arc.

guide_08

This chapter demonstrates type-level functions, by which this crate means an implementor of the TypeFn_ trait.

guide_09

This chapter demonstrates using TypeFn_ to represent type constructors, allowing a function to construct a type with different type parameters .

guide_10

In this chapter we'll cover a ConstValue with private fields and how to construct it.

guide_11

This chapter demonstrates creating a type module, which is a way used to pass many types around with just 1 generic parameter by using a ConstValue.

guide_12

TODO: Write this chapter about a type module with type parameters by using <DerivingType>WithRuntime.

introduction

This library,which includes type_level_examples/derive_type_level,allows one to create type-level equivalents of regular values,and provides tools for using them.

reference_privacy

This page describes how the TypeLevel macro deals with privacy.