►
From YouTube: .NET Design Reviews GitHub Triage and MemoryPool
Description
00:00:00 - Approved: API Propsal: char.GetUnicodeCategory(unicode scalar) https://github.com/dotnet/corefx/issues/26173#issuecomment-358057543
00:17:01 - Approved: Helper class for dealing with native shared libraries and function pointers https://github.com/dotnet/corefx/issues/17135#issuecomment-358069191
00:56:19 - Approved: Add MemoryPool APIs https://github.com/dotnet/corefx/issues/26357#issuecomment-358079441
01:31:24 - Approved: String-like extension methods to ReadOnlySpan(char) Epic https://github.com/dotnet/corefx/issues/21395#issuecomment-358087851
B
C
D
E
G
G
J
J
C
K
J
C
A
A
C
J
K
C
C
M
C
A
L
J
C
E
E
J
B
Q
C
J
K
J
C
J
K
K
R
A
E
I
C
J
C
J
G
A
D
D
L
D
A
A
V
K
A
Could
point
to
code
unit
that
will
need
to
care
about?
So
yes,
so
a
code.
Well,
a
code
unit
is
in
imagine
that
you
have
a
utf-8
string.
Okay,
you
tfh
string
consists
of
a
bunch
of
beauty
if
they
integers
all
all
sequence.
Each
of
those
utf-8
integers
is
a
utf-8
code
unit.
A
utf-16
string
is
a
bunch
of
utf-16
integers
called
utf-16
code
units,
and
you
can
do
the
same
for
utf-32
and
so
on.
A
code
unit
is
not
necessarily
a
scalar.
It's
not
necessarily
a
good
point.
A
No,
a
scalar
is
what
people
would
think
of
as
an
individual.
We
are
but
hey
and
wait.
Okay,
because
a
scale,
a
scalar
is
a
code
point
except
for
all
of
the
surrogates.
When,
when
I
say,
surrogates
I
mean
the
individual
hi
surrogate
16-bit
integers
and
the
individual
Oh
surrogate
16-bit,
when
you
combine
them,
for
instance,
into
a
pile
of
poo
emoji
a
little.
B
A
A
A
I've
said
a
code
point
is
a
superset
scalars
with
the
graphical
overlay
like
go
back
one
character
and
draw
over
top
the
previous
thing.
Oh
like
a
modifiers.
Basically
like,
though
those
are
still
individual
code
points,
individual
scalars,
a
scalar
doesn't
have
to
be
a
printable
character.
A
scalar
is
literally
have
everything
from
0
to
1
0
ffff,
except
for
these
surrogates,
like
da
0
0
for
D
F
F.
That's
literally
the
only
difference
today,
a
close
relative
ASEAN.
E
E
H
X
H
A
All
right,
yes,
southerner
birth,
so
there
there
are
unicode
characters,
as
in
the
the
Arabic
numerals
0
through
9,
correct
that
we're
all
familiar
with.
There
is
also
0
like
inscribed
within
a
circle
which
presumably
this
API
return,
0
like
to
inside
right
within
a
triangle
or
something
and
then
like
the
fraction,
1/4
and
1/2.
G
E
O
F
K
Big
a
did.
The
problem
that
is
proposal
trying
to
solve
is
that
today,
when
people
want
to
float,
make
the
fly,
beret
and
discovery
dynamic
that
run
time,
and
they
don't
know
where
it
is
or
what
what
the
exact
name
is
on
Windows.
You
know
they
just
be
involved.
Growth,
library
and
you
know,
get
broke
a
dress
on
UNIX.
You
know,
if
you
are
kind
of
in
the.
K
If
you
are
just,
are
getting
the
main
line,
distrust
you
can
tl
library
in
similar
way
on
Windows,
but
unfortunately,
the
dear
library
isn't
like
name
they
same
way
across
all
the
UNIX
system.
So
there's
no
good
portable,
a
how
you
can
really
do
it
on
Linux
pixel,
there's
no
fixed
library
to
be
invoke
in
do
so.
This
the
whole
point
of
this
propose
is
just
create
simple,
manage
wrap
around
those
two
there's,
no
safety
I,
so
that
you
can
begin
to
apply,
break
and
rock
address
in
whatever
I
see.
K
K
This
is
in
system
and
a
diameter
of
services,
namespace
ID,
so
it's
kind
of
unsafe,
ID
by
convention
right,
you
know,
I,
would
today
the
problem
with
delegates
to
delegates
pointing
to
if
you
get
delegate
from
our
manage
point
today
right,
you
have
the
same
problem
already,
so
this
is
not
trying
to
solve
that
problem
and
you
know
be
in
order
to
set
say
so
that
problem
we
would
need.
A
K
A
A
There's
a
disposable
thing
here
and
people
go
make
this
rules
only
by
wrapping.
It
neatly
what
I've
always
done
in
practice.
Every
single
time
I've
had
to
do
something
like
this
is
I
always
end
up
calling
JC
handle
Alec
on
the
native
library.
That
comes
back
because,
although
certainly
my
application
is
going
to
have
incorrect
behavior
if
I'm
ever
free,
this
library,
I
wonder
if,
like
Jeremy
actually
really
does
have
a
point
here
is:
do
we
expect
the
majority
of
applications
to
keep
these
things
alive
for
them
for
the
entirety
of
the
app.
W
C
So,
let's
go
back
to
the
FX
capital,
make
sure
that
we
are
not
putting
people
in
this
situation
where
they
shoot
themselves
in
the
foot
there.
The
rule
just
says
that
if
you
have
a
field
that
is
AI
disposable,
your
type
needs
to
be
a
disposable.
It
doesn't
inspect
your
code
and
tells
you
that
you
have
to
code
this
post.
A
F
E
A
R
K
Of
internal
pride
and
making
more
complex,
I
wouldn't
want
to
do
that,
except,
like
you
know,
I,
when
you
look
at
the
inter
up
that
how
people
use
delegates
for
for,
inter
out,
you
wouldn't
actually
want
to
use
that
I.
Guess
II
just
use
delegates
picture,
that's
the
only
thing
you
can
use
in
c-sharp
right.
K
You
would
actually
want
the
the
interrupts
to
just
do.
Call
I,
and
you
know
in
manage
the
past
paths.
You
could
have
done
possible
sobriety
dead
weight
today,
so
we
are
using
out.
So
if
you
want
to
make
the
kind
of
interrupts
fit
delegates
to
be
more
kind
of
bit
of
success
in
stuff
failure,
that's
today
I
think
we
should
be
looking
at
that.
You
shouldn't
be
looking
at
like
how
to
make
the
delegates.
You
know
that
are
so
already
in
slower,
so
that
they
do
some
light
type
like
time
that.
A
K
We
should
be
looking
at
like
changing
how
to
get
delegate
API
to
de
box
right.
So
the
one
thing
about
that
is
the
get
delegate.
Api
is
just
like
it's
fine
to
remove
this
from
it
from
this
proposal
in
the
current
proposal,
all
did
get
delegate.
Does
it
just
you
know,
cause
the
marshals
get
delegate
for
you
so
that
right?
So,
if
that
API
is
problematic,
we
can
just
remove
it
from
the
API
and
people
can
do
it
themselves
right.
It
kind
of
wouldn't.
K
K
K
Safety
that
I,
don't
think
you
do
I
kind
of
disagree
that
you
know
like
yeah.
If
you
are
using
the
interrupt
ap
outside
you
have
like
many
different
ways.
How
can
like
throughout
right?
You
can
have
mismatching
signatures
right,
you
can
go
drunk
method
so
and
I
think
the
key
point
for
instead
of,
is
you
kind
of
want
to
invert.
We
fast
right
in
the
past.
K
We
have
like
bolted
bunch
of
stuff
on
to
interrupt
and
then
make
everybody
opt
out
of
that,
because
if
they
want
to
interrupt
to
be
to
be
fast
right
in
the
early
days
of
dotnet,
like
the
Interop
was
doing
some,
some
crazy
cast
checks
right,
everybody
was
opting
out
of
it
weeks
of
and
and
this
is
being
the
same
category
right.
You
are
talking
about
how
you
know
in
order
to
do
to
get
delegate
you
want
to
check
in
on
that
part.
So
you
know.
Is
this
a
life,
and
you
know
how.
R
K
In
our
own
framework,
we
are
getting
rid
of,
and
we
are
sized
I
think
the
same
hand
was
the
same
thing
in
networking
stack
VP.
We
found
this
to
be
both
might
be
become
sites
that
the
siphon
sale
handles
there
and
we
can't
doing
some
other
crazy
thing
I.
The
crazy
thing
we
can
do
here
for
whatever
reason,
but
it's
like
library
dependent.
It's
like
the
the
up
stack
code.
Somehow
you
know
and
base
or
this-
and
it
says
out:
okay
I
know
I
know,
but
the
I'm
doing.
E
K
E
Make
it
possible
it's
those
are
my
excel.
This
is
not
the
term
services
itself
provides
to
say
by
the
assumption
is
that
it
forwards
the
burden
to
the
constructors
who
use
it
as
the
Google
and
I
think
everything
you
know,
I
think
the
best
case
we
can
get
it
but
like
risk
is
in
that's
why
people,
maybe
just
of
the
check,
twice
exit
easy.
We
just
increment
I,
don't
have
a
safe
way
of
doing.
A
T
E
You
know
get
delegate
awesome
name
of
invested
in
a
committee
specifically
delegate
as
well.
You
already
have
in
million
ways
you
can
misuse
the
API.
This
hose
is
just
one
I.
Think
to
me.
The
only
argument
to
be
made
is
that,
like
you
know,
the
name
native
library
expose
doesn't
necessarily
imply
undefined
behavior
right
I
mean
if
you
just
rename
the
stuff
to
basically
indicates
you
know,
unsafe
native
or
unsafe
library.
K
A
R
E
D
R
A
A
K
J
R
J
A
A
D
K
So
today,
I'd
people
want
to,
for
example,
our
example
in
the
system,
drawing
something
since
the
drawing
come
on.
K
A
K
A
K
A
It
just
strikes
me
as
weird
that
what
I
asked
earlier
like
is
there
any
reason
that
you
would
need
to
know
the
full
path
of
the
particular
zlo
is
loaded
from
the
answer
is
no,
but
is
there
a
particular
reason
that
the
application
developer
would
need
to
manually
create
whole
paths
for
particular
DLLs?
The
answer
is
yes,.
E
A
K
A
K
It's
like
that.
That
thing
is
different
right.
You
have
kind
of
plug
in
and
bugging
listen
playing
some
directory
and
you
kind
of
what
I
can
happy
I
did
code,
so
this
API
does
isn't
isn't
other
thing,
that's
an
I/o!
For
that
scenario.
We
have
like
another
hook
on
us
and
low
context
that
lets
you
load
unmatch
assets
for
safe,
plugins
right.
K
This
is
kind
of
when
the
library
doesn't
want
to
be
kind
of
plug-in.
It
just
wants
to
be
kind
of
self-contained
unit
that
you
know
way.
I
looked
at
the
API
sent
up
interrupt
services
namespace
the
anime
seems
to
be
more
common
graphics
than
native.
So
there's
like
a
mesh
memory.
Access
a
mage
memory
seem
mermaid
function
pointer,
so
the
unmatched
might
be.
B
J
K
C
A
We're
not
the
reason
yellow
import
doesn't
allows
you
to
not
specify.
The
argument
is
because
dotnet
framework
b1
allowed
you
to
not
specify
the
argument,
but
it
always
pops
up
on
people's
security.
Reviews
of
you
need,
somewhere
to
scope
where
this
DLL
imports
coming
from
it's
like.
So
the
security
guidelines
say
that
you
should
always
specify
it,
so
we
should
make
people
always
specify
they
can
make
their
own
well.
A
L
A
L
A
C
A
Well
because
then,
the
human
second
on
the
one
that's
not
painted
or
the
one
that
doesn't
take
an
option
also
can
use
a
similar
level
attribute,
which
would
then
become
weird
with
this
and
like
who
is
assembly
or
addressing
from
so
be.
The
guy
who
immediately
called
this
function,
but
like
was
that
the
right
answer
was
that
yet
another
benefit,
because
that's
never
Fitness
India's
right.
So
I
think
that
we
want
to
leave
it
as
a
mandatory
artist,
and
if
somebody
doesn't
like
that
they
can
make
their
own
function
that
calls
this
one.
F
K
K
C
A
K
C
J
J
C
A
C
S
K
R
A
Thing
is
especially
with
opening
like
failures
are
a
bit
weird,
because
it
could
be
that
the
DLL
exists,
and
it
could
be
that
you
actually
did
try
to
open
it,
but
maybe
it's
the
wrong
architecture.
Maybe
some
of
its
dependencies
are
found,
and
so
on.
Should
that
return
also?
Should
that
grow
exactly.
C
H
C
C
C
Z
A
Are
going
to
call
them
they're
not
going
to
fail,
but
like
of
all
of
the
inputs,
you
could
pass
the
try
open.
Nine-Nine's
of
them
are
going
to
fail,
like
you
need
a
valid
input
into
this
in
order
for
it
to
work
once
it's
a
valid
input,
it's
probably
not
going
to
throw
them.
Almost
everything
on
almost
every
system
is
an
adult.
Okay,
a
library
can
but
I
mean.
A
H
V
E
D
A
E
A
H
M
Name
is
a
patent
that
they're
there's
a
deal
search.
It.
K
C
AA
C
AA
C
AA
Q
X
C
J
C
K
A
I
H
V
H
K
Because
of
the
you
know,
it's
you
don't
know
what
the
look
like
that
I
get
broke.
A
dress
is
called
on
random
OS.
It's
out
there
and
stay
out
by
known
cases
very
busy
like
you
eat
until
you
could
make
a
portable
proper
like
that,
but
it
would
have
really
ugly
decision
matrix
based
on
the
OS.
You
know
to
decide
the
wrong
times.
Gonna
have
to
do
that
right,
yeah,
but
the
wrong
time.
Does
it
already
right
and
we
build
around
I'm
paralyzed.
C
A
G
A
I
A
B
I
Q
C
C
P
D
Y
AB
E
Alright
I
think
we
should
go
back
to
this
of
the
Epistle
shouldn't
the
team
a
lot
of
time
in
it.
We
have
more
time.
Otto
was
sorry.
Where
are
we
so
I
spent
the
meeting
into
two
to
being
on
the
second
hour,
and
so
this
was
the
thing
that
person
wanted
to
reveal
pretty
sure
with
this
or
thought
half-hour
and
I'm,
not
convinced
I,.
C
Said
if
it
takes
longer
than
half
an
hour,
we
are
at
Hawley,
but
we
just
spent
half
an
hour
on
the
nail
exactly
so
on
or
more
so.
Basically,
this
is
an
abstraction
and
a
default
implementation.
It's
just
the
implementation
is
internal
and
it's
returned
from
the
default
property.
The
abstraction
is
for
a
pool
that
returns
owned
memory
of
T
instances.
C
They
have
an
implementation
that
has
a
slab
based
slab
allocated
based
implementation.
This
default
one
would
basically
just
return,
don't
memory
and
return
their
own
memory.
The
nice
thing
and
the
interesting
thing
about
this
pool
the
difference
between
it
and
array
pool
is
that
you
just
rent
the
buffer
and
then,
if
you
dispose
on
memory,
it
will
just
return
the
underlying
buffer
into
array
and
that's
pretty
much
it
overview
of
the
type
and
the.
C
Z
C
The
parameter
to
rent
is
called
minimum
buffer
size,
so
it
cannot
return
less,
but
it
can
you
return
more,
it's
out
of
memory
if
I
catch,
so
we
should
talk
about
this.
I
mean
it's
a
bit
of
an
implementation,
but
so
there
are
some
implementations
that
cannot
return
the
size.
It's
either,
because
the
system
really
is
out
of
memory
and
then,
of
course,
would
throw
out
of
memory,
but
sometimes
it's
a
limitation
of
the
pool
so,
for
example,
slab
allocating
boom.
C
It
has
fixed
size
buffers
for
K
and
it
cannot
do
larger.
So
that's
where
the
property
maximum
buffer
size
comes.
If
you
pass
something
more
than
the
max
buffer
size,
it
will
throw
an
exception.
I
would
not
want
to
use
out
of
memory
because
I
think
it's
it's
a
different
error
condition.
So
I
would
just
use
you
know,
argument
out
out
of
range
exception.
Okay,.
C
L
C
Z
Because
there
are
two
real
okay
there's
one
real
implementation:
there's
another
fake
invitation,
one
space
on
slaps
and
what's
pipeline
uses,
and
that
has
like
a
maximum
four
K
size
that
you
ran,
in
fact,
if
basically
turns
returned
to
either
a
fork
a
bucket
for
the
other
implementations
based
on
a
ray
pool,
and
in
that
case
it
is
correct
me.
If
this
has
been
changed,
it
returns
exactly
the
size
you
asked
for
it.
Z
To
closest
to
okay
so,
but
the
risk
is
that
if
you
say
that
one
for
any
size,
you're
going
to
end
up
getting
the
smallest
bucket
and
a
rape
will
nonetheless
now
using
one
for
the
pipelines,
version
of
the
pool
would
be
just
fine
for
the
way
we
typically
use
it,
but
for
a
pool
it
might
be
less
efficient
to
do
one
bite
for
every
call
to
Rhett.
Just
because
maybe
you
want
a
bigger
slab,
it's
one
of
those
things
where
it's
like.
Z
W
C
K
Z
K
J
J
S
S
T
K
C
A
Z
C
H
S
C
It's
more
efficient
for
the
pool
to
return
u4k
the
night
cream,
for
example,
array
pool,
maybe
is
it
ran
out
of
buckets?
It
ran
out
of
the
you
know
for
case
chance,
but
it
has
still
8k
charged.
So
it
could
give
you
eight
K
without
allocating,
but
not
forget
stuff
feels
very
odd
I
mean.
Would
you
add
this
to
repose.
F
H
H
C
C
Are
actually
two
implementations
that
are
shipping
and
there's
an
implementation
based
on
native
memory,
which
Steve
dupe
asked
me
to
warn
you
guys?
How
do
you
get
accessed
on
a
public
API,
so
I
assumed
default
is
always
going
to
be
the
rapist,
so
this
one
is
going
to
be
they're
able
in
pipelines
that
is
going
to
be
another
one
which
is
the
slab
allocated,
and
you
call
it
slab.
Yes,
that's
what
they
called
it.
Yes,
I,
don't
know
if
it's
a
name
that
is
a
standard
name,
just
means
lighting
of
larger
racing.
H
C
Why
wouldn't
it
be
it's
a
multiple
of
what
may
open
variables?
Why
should
one
native
and
one
mention
where
are
you
I,
don't
to
ship
native
yet,
but
I
think
what
we're
saying
is
basically
the
create
method
on
this.
One
could
basically
just
call
underlying
irate
that
create
yeah
I'm
trying
to
fish
again
like
lose
ApS
or
the
rape
of.
H
E
E
K
You
actually
come,
you
know,
like
Ben
Adams
was
like
looking
at
that
and
the
abstraction
curve.
It's
like
significant
chunk
of
the
overhead
to
come
from
the
memory
that
you
have
to
go
to
buy
property,
go
to
virtual
method
right.
So
it's
like
we
are
in
flight
that
you
know
tries
to
creatively
avoid
this
abstraction
to
some
degree,
but
it's
like
for
any
I
think
it
was
kind
of
a
mistake
to
make
it
customizable
helping
just
one
right
for
this.
One
I
think
it
makes
more
sense,
but.
C
H
K
E
In
mind
that
those
guys
show
up
in
the
providers,
you
may
not
want
with
static
share
like
if
you
derive
like,
if
you
have
a
native
memory
pool
that
you
have,
and
you
want
to
share
native
memory,
for
you
basically
have
to
hide
it
like
if
they
call
it
something
else
and
they
make
it
stick,
it
could
just
get
when
you're
worried
about
the
static
API
should
I
have
a
drive
types.
Yes
well,.
E
Should
work
I
I,
understand
that,
but
I
mean
I'm,
not
sure
why
I
wouldn't
matter,
because
these
are
like
I
mean
like
if
you,
if
you're
on,
let's
say
your
native
memory
pool
and
your
today,
the
memory
pool
of
TDOT
shared
code
looks
fine,
it's
just
you
don't
get
a
native
memory,
pull
back,
you
get
you
get
whatever
this
deal.
Implementation
does
right.
I
go
tentatively
to
that
design
you,
but
you
would
have
an
abstraction
that
is
pure.
E
F
F
H
C
K
The
if
you
in
most
places
VF
roadblocks
that
VSS
now
don't
do
this
like
throw
exception.
We
don't
have
it
on
spam.
We
do
have
a
constant
like
menu.
Then
you
have
like
you
know,
struct
with
reference
types
or
reference
type
and
page
span
of
reference
type,
and
you
call
the
constructor
that
takes
void
star
and
in
that
context.
But
if
you
just
create
the
span
of
object
and
I
start
sticking
objects
inside
this
panel,
it
works,
but
you
pay
the
span
out
of
one
over
pointer.
K
S
A
No,
no,
why
the
de
chine
you
can
put
it
on
the
drive
type
yeah,
but
their
structure
should
only
ever
go
on
the
drive
type.
It
should
never
go
on
a
next
limitation
that
has
no
inter
or
void
story,
reels,
the
reason
being
that
now,
every
single
subclass
of
this
type,
including
the
fully
safe,
fully
managed
to
rape
type
or
a
rape
hole.
Okay
now
goes
in
the
permutation
okay
about
it.
J
K
W
W
K
F
Y
K
You
know
like
a
valid,
but
that
invite
to
know
of
implementation
would
be
helpful
is
if
you
have
API
that
you
know
or
something
that
takes
memory
pool
to
allocate
from
and
finds
that
things
go
away
kind
of
wants
to
dispose.
It
dispose
the
memory
who
you
get
it
from
right,
and
so,
if
you
know
get
it
on
the
default
memory
pool,
that
part
has
a
special
check.
That
says
out.
We
finally
great
if
I'm,
not
gated,
on
default
memory,
food
and
dispose
me
or
device
do
not
think
it.
W
K
K
W
S
K
C
C
C
Their
custom
pool
like
in
pipelines
and
the
pool
is
being
passed
to
Allah.
You
know
to
use
your
code,
you
kind
of
only
want
the
owner
of
the
pool
who
created
the
instance
to
be
able
to
dispose,
not
everybody
who
wants
to
rent
the
buffer,
but
we
kind
of
you
know
we
could
implement
it
by
complicating
the
IP
is
a
lot
by
having,
like
you
know,
the
owner
view
of
them
all
and
the
user
view
of
the
goal,
but
it
just
it
would
be
over
engineered
and.
E
K
C
K
The
pool
you
just
use
the
rent
method,
you
shouldn't
be
a
Valerie
itself,
cementing
it
fast,
you
might
get
fasting
account
create
a
fasting.
Then
you
pass
it
to
somebody,
and
you
know
they
oftentimes
they're
fishing
boat
disposal,
but
sounds
because
yeah,
but
it
depends
like
what
button
you
site
so.
K
E
H
AA
C
H
C
H
A
Array
is
that
a
code
agreed
upon
her
well,
I,
don't
know
we
want
to
so
you
know
the
documentation
say
this
is
a
contract.
So
the
reason
for
this
is
there
is
potentially
a
race
condition
at
potential,
a
B
with
this.
If
it's
not
implemented,
if
it's
not
backed
by
managed
by
a
manager
right,
imagine
a
method
that
has
three
lines.
First,
one
our
pool
equals
new
native
memory
pool
second
line.
We
don't
allow
you
to
say
mmmm,
you
know
it's
an
abstract
class.
A
K
A
C
C
A
R
A
And
then
maybe
maybe
here
you
do
likes
like
buffer
or
binary
primitive,
stop
right
into
spam.
The
number
42
right,
the
api's
and
we're
introducing,
but
the
thing
is
like
immediately
after
line
sex
memory
and
pool
can
be
juicy
which
means
that
this
code,
which
is
all
ostensibly
type
saying
theoretically
Canadian
yes,.
C
So
the
only
know
what
I'm
so
okay,
there
is
a
problem
here,
but
I
want
to
make
it
clear
where
the
problem
is
native
memory
pool
can
go
away,
it
doesn't
affect
the
actual
native
memory.
Is
this
object
called
on
memory
rights
insurance,
the
lifetime,
whether
they
also
go
away
absurd?
Aligned
of
you
know
when,
when
basically
memory
so
just
wanted
to
make
sure
it
doesn't
spend
on
the
native
memory
pool
lifetime?
E
K
C
A
S
A
L
Z
S
S
Q
C
B
Y
Q
E
C
F
B
B
Is
the
remove,
replace
and
all
the
other
ones
that
solve
them,
return
an
out
parameter
by
straighten
and
solve
them?
Don't
because
the
user
can
know
ahead
of
time
already
as
a
constant?
What
device
return
should
be?
My
students
should
be
so
they
don't
have
those.
Those
are
two
main
issues
and
sample
causes
below.
Y
AC
C
B
B
A
Z
C
Z
A
More
station,
can
you
beat
it
so
the
issue
is
string,
taut
trim
is
not
trained,
will
trim
white
space
from
both
the
front
and
the
end
of
a
string,
but
white
space
isn't
just
a
like
2o
character
like
your
like
6
or
7,
maybe
even
more
characters
in
Unicode.
They
are
considered
quite
special.
Would
this
have
the
same
behavior
as
trim
trim
yeah
when
it
will
now
tell
were
special
casing
chars
as
a
team
inside
the
save
it.
C
So
it
kind
of
just
takes
spider
bytez,
because
then
you
would
have
to
say
in
which
encoding
divides
our
advance.
The
moment
you
pass
the
parameter
shrimp
char,
you
don't
care
about
it
voting
because
you
explicitly
pass.
You
just
want
this
number
to
be
removed.
So
all
the
three
methods,
except
for
the
one
that
doesn't
take
any
additional
parameters,
they
could
be
Oh
bite
yeah,
it's
very
explicit
what
they
do.
Z
Z
It
depends
the
only
thing
that
I
think
we
tried
calling
the
trim
method
on
once
and
I
think
we
even
might
have
just
spent
okay
stood
like
to
have
our
own
strip
method
is
for,
like
headers,
so
various
whitespace
characters
on
either
at
but
its
ASCII.
So
it
would
be
nice
to
like
do
that
prior
to
creating
the
string
or
getting
actual
characters.
Z
B
Z
AC
B
C
Z
A
E
Case
in
charge,
oh
well,
I
mean
that
Vinton
what
what?
What?
What
what
shave
beard
me
I
mean
I'll,
be
basis.
Amy,
I
still
don't
know
how
these
specially
castings
right,
I
mean
like
I,
would
I
would
expect.
You
would
do
this
one
here,
as
as
we
only
spend
a
bite
and
then
this
one
only
is
we'd
only
spend
of
char,
but
if
you
are
invoking
it
on
char,
both
Oberlin
supplies,
logically,
we'll
still
want
to
have
heading.
A
A
M
E
K
Kind
of
you
know
the
opposite:
editing
the
string,
I
kind
of
want
to
pet
it
and
remove
this
thing,
and
with
that
thing,
and
if
I
look
at
how
I
would
write
code
with
this,
like
I
need
to
do
crazy
amount
of
buffer
management
myself
right
like
to
grant
you
know
ten
different
things
from
a
rainbow
land
and
also
I
think
so.
This
is
one
second.
C
One
is
with
strings.
Padding
is
kind
of
tricky
because
you
have
the
original
string.
You
need
to
somehow
create
a
copy
and
have
like
you
know
on
both
sides.
You
have
to
have
room
I,
it's
tricky.
This
one
is,
you
can
expand,
apparently
it's
larger
than
the
data
slicer.
You
don't
have
to
slice
you
just
index
to
the
last
location,
and
you
put
the
thing
that
you
wanted
and
you
index
to
the
-1
location
and
you
just
add
the
character
to
Pat,
laughs
and
you're
done.
I
mean
it's
just
necessarily.
Z
K
Z
E
J
C
P
J
T
B
K
C
Z
But
this
was
luck,
moves
on
one
year
so
to
the
point
about
two
upper
and
two
lower,
potentially
changing
the
size
of
the
string.
If
you
will
I
replace,
has
you
can
bring
work?
We
don't
choose
size,
oh
we
don't,
but
I
thought
you
said
you
got
something
approved
to
do
that
or
is
that
something
else?
No.
C
C
Z
I
mean
talking
about
the
value
of
this
API
I
think
this
came
up
the
last
meeting.
We
reviewed
this
and
like
teams,
Tim
seaward,
said
that
the
finance
world
runs
on
trim
and
I
feel
like
if
you're
like
consuming
any
api's.
You
know
maybe
you're
at
such
a
high
level
that
strings
and
stuff
or
fine
you're,
okay,
like
trimming
allocating
a
new
string,
but
if
you're
optimizing
for
finance
kind
of
situations,
maybe
you
know
yeah.
C
S
AC
C
C
AC
Z
F
Z
Z
C
So
the
first
section,
the
first
half
I-
think
the
house
will.
The
only
issue
is:
do
we
want
to
have
the
byte
overloads
and
I'm
kind
of
torn,
because
we
cannot
make
the
first
one
to
be
by
and
then
the
moment
we
make
the
second
one
byte.
It's
gonna
be
weird:
it's
like.
Oh
now,
I
need
to
pass.
I
want
to
pass
the
trim
character.
I
need
to
cast
my
span
to
span
of
byte,
so
I
can
pass
it
to
this
method.
C
Z
C
I
E
Before,
like
to
me,
like
I,
mean
those
ones
here
to
me
are
no-brainers
because
they
are
like
trivial
now,
this
one
is
well
trivial,
isn't
like
they,
they
don't
give
up
spent,
but
they
just
give
you
back
a
war
right.
They
are
hard,
so
they're
they're,
like
somewhat
of
expected,
I,
think
they're
like
same
semantics
and
they're.
C
J
AC
J
K
W
E
That,
given
that
we're
running
out
of
time
again,
I
really
think
we
need
to
spend
an
hour
for
this
thing
to
actually
segregated
out
the
things
that
we
think
are
easy
foods
and
then
the
rest
just
get
more
design
time
on,
because
we
keep
doing
this
half-assed
thing
I
mean
even
this
one.
You
don't
be
neatly.
A
AA
E
C
C
C
C
C
C
C
K
D
D
K
We
would
read
provider
here
the
first
half
in
particular
the
you
know,
the
start
date
and
end
date
and
it's
y
space
I.
They
are
kind
of
just
another
extension
of
these
one
ization
of
the
college
surfaces.
We
have
done
it
very,
very
divided
implementation
to
operate
on
spans
internally
and
expose
data
api
and
just
change.
The
existing
API
detects
thing
to
just
call
that
Steven.