Bounded generics over constants in Rust

Rust is a language aiming to provide a way to write robust and performant code without using garbage collection or manual memory managment. Yet it lacks of a mechanism to abstract constants, forcing users to repeat code in cases where con- stants are involved. One of the challenges of developing thi...

Full description

Autores:
Poveda Ruiz, Christian Nicanor
Tipo de recurso:
Fecha de publicación:
2019
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
eng
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/44291
Acceso en línea:
http://hdl.handle.net/1992/44291
Palabra clave:
Rust (Lenguaje de programación de computadores) - Investigaciones
Programación (Computadores electrónicos) - Investigaciones
Lenguajes de programación (Computadores electrónicos) - Investigaciones
Compiladores (Programas para computador) - Investigaciones
Ingeniería
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
Description
Summary:Rust is a language aiming to provide a way to write robust and performant code without using garbage collection or manual memory managment. Yet it lacks of a mechanism to abstract constants, forcing users to repeat code in cases where con- stants are involved. One of the challenges of developing this mechanism, is that it must be compatible with the language's core principles of performance, reliability and productivity, putting it in contrast with well established languages such as C++, where the mechanism for constant abstraction is another source of unsafety. In order to provide such a mechanism, we propose and develop a symbolic execution engine for the Rust compiler. We explore the integration of the engine in the language's trait solving and type inference mechanisms.