mirror of
https://codeberg.org/ziglings/exercises.git
synced 2025-08-03 15:15:37 +00:00
069_comptime4: replace comptime T: type
=> T: type
and refactor a bit accordingly
- replaced instances of `comptime T: type` with `T: type` (080_anonymous_structs) - left 065_builtins2.zig: 27:// 2. @typeInfo(comptime T: type) @import("std").builtin.Type see [do not enforce function parameters to be marked comptime if only called at comptime](https://github.com/ziglang/zig/pull/18331)
This commit is contained in:
parent
e3877321b6
commit
4b41b0a5c0
|
@ -1,11 +1,9 @@
|
|||
//
|
||||
// One of the more common uses of 'comptime' function parameters is
|
||||
// passing a type to a function:
|
||||
// In Zig types are first class values
|
||||
//
|
||||
// fn foo(comptime MyType: type) void { ... }
|
||||
// fn foo(MyType: type) void { ... }
|
||||
//
|
||||
// In fact, types are ONLY available at compile time, so the
|
||||
// 'comptime' keyword is required here.
|
||||
// Types are resolved at compile time.
|
||||
//
|
||||
// Please take a moment to put on the wizard hat which has been
|
||||
// provided for you. We're about to use this ability to implement
|
||||
|
@ -42,7 +40,7 @@ pub fn main() void {
|
|||
// 2) Sets the size of the array of type T (which is the
|
||||
// sequence we're creating and returning).
|
||||
//
|
||||
fn makeSequence(comptime T: type, ??? size: usize) [???]T {
|
||||
fn makeSequence(T: type, ??? size: usize) [???]T {
|
||||
var sequence: [???]T = undefined;
|
||||
var i: usize = 0;
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ const print = @import("std").debug.print;
|
|||
// This function creates a generic data structure by returning an
|
||||
// anonymous struct type (which will no longer be anonymous AFTER
|
||||
// it's returned from the function).
|
||||
fn Circle(comptime T: type) type {
|
||||
fn Circle(T: type) type {
|
||||
return struct {
|
||||
center_x: T,
|
||||
center_y: T,
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
// 2) Sets the size of the array of type T (which is the
|
||||
// sequence we're creating and returning).
|
||||
//
|
||||
-fn makeSequence(comptime T: type, ??? size: usize) [???]T {
|
||||
-fn makeSequence(T: type, ??? size: usize) [???]T {
|
||||
- var sequence: [???]T = undefined;
|
||||
+fn makeSequence(comptime T: type, comptime size: usize) [size]T {
|
||||
+fn makeSequence(T: type, comptime size: usize) [size]T {
|
||||
+ var sequence: [size]T = undefined;
|
||||
var i: usize = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user